return {
    -- Mason (LSP server installer)
    {
        "mason-org/mason.nvim",
        config = function()
            require("mason").setup()
        end,
    },
    
    -- Mason-LSPconfig (bridge Mason and nvim-lspconfig)
    {
        "mason-org/mason-lspconfig.nvim",
        config = function()
            require("mason-lspconfig").setup({
                ensure_installed = {
                    "pyright",      -- Python
                    "jsonls",       -- JSON
                    "yamlls",       -- YAML
                    "html",         -- HTML
                    "cssls",        -- CSS
                    "bashls",       -- Bash
                    "lua_ls",       -- Lua
                },
                automatic_enable = true,
            })
        end,
    },
    
    -- nvim-lspconfig
    {
        "neovim/nvim-lspconfig",
        config = function()
            -- Lua
            vim.lsp.config('lua_ls', {
                settings = {
                    Lua = {
                        runtime = { version = "LuaJIT" },
                        workspace = { library = vim.api.nvim_get_runtime_file("", true) },
                    },
                },
            })
            
            -- Other languages
            vim.lsp.config('pyright', {
    settings = {
        python = {
            analysis = {
                typeCheckingMode = "basic",
                extraPaths = {},  -- Add extra import paths if needed
            },
        },
    },
})
            vim.lsp.config('jsonls', {})
            vim.lsp.config('yamlls', {})
            vim.lsp.config('html', {})
            vim.lsp.config('cssls', {})
            vim.lsp.config('bashls', {})
            
            -- Enable servers
            vim.lsp.enable('lua_ls')
            vim.lsp.enable('pyright')
            vim.lsp.enable('jsonls')
            vim.lsp.enable('yamlls')
            vim.lsp.enable('html')
            vim.lsp.enable('cssls')
            vim.lsp.enable('bashls')
        end,
    },
}
