return {
  {
    "neovim/nvim-lspconfig",
    lazy = false,
    config = function()
      local capabilities = vim.lsp.protocol.make_client_capabilities()

      vim.lsp.config.lua_ls = {
        capabilities = capabilities,
        settings = {
          Lua = {
            runtime = {
              version = "LuaJIT",
            },
            diagnostics = {
              globals = { "vim" },
            },
            workspace = {
              checkThirdParty = false,
              library = {
                vim.env.VIMRUNTIME .. "/lua",
                vim.fn.stdpath("config") .. "/lua",
              },
            },
            telemetry = {
              enable = false,
            },
          },
        },
      }

      vim.lsp.config.bashls = {
        capabilities = capabilities,
        filetypes = { "sh", "bash" },
      }

      vim.lsp.config.clangd = {
        capabilities = capabilities,
      }

      vim.lsp.config.prismals = {
        capabilities = capabilities,
      }

      vim.lsp.config.ts_ls = {
        capabilities = capabilities,
        settings = {
          typescript = {
            inlayHints = {
              includeInlayParameterNameHints = "all",
              includeInlayVariableTypeHints = true,
              includeInlayFunctionLikeReturnTypeHints = true,
            },
          },
          javascript = {
            inlayHints = {
              includeInlayParameterNameHints = "all",
            },
          },
        },
      }

      vim.lsp.config.basedpyright = {
        capabilities = capabilities,
        settings = {
          basedpyright = {
            analysis = {
              diagnosticMode = "openFilesOnly",
              inlayHints = {
                callArgumentNames = true,
              },
              typeCheckingMode = "basic", -- oder "strict" für strenger
              autoSearchPaths = true,
              useLibraryCodeForTypes = true,
            },
          },
        },
      }

      vim.lsp.enable({
        "basedpyright", -- npm install -g basedpyright, brew install basedpyright
        "bashls", -- npm install -g bash-language-server, pkg install hs-ShellCheck
        "clangd", -- pkg install llvm
        "lua_ls", -- pkg install lua-language-server
        "prismals", -- npm install -g @prisma/language-server
        "ts_ls", -- npm install -g typescript typescript-language-server
      })
    end,
  },
}
