return { { "williamboman/mason.nvim", config = function() require('mason').setup() end }, { "williamboman/mason-lspconfig.nvim", config = function() require('mason-lspconfig').setup { ensure_installed = { "nil_ls", "pyright" }, } end }, { "neovim/nvim-lspconfig", config = function() local lspconfig = require('lspconfig') local capabilities = require('cmp_nvim_lsp').default_capabilities() lspconfig.pyright.setup({ capabilities = capabilities }) lspconfig.nil_ls.setup({ capabilities = capabilities }) vim.keymap.set('n', 'K', vim.lsp.buf.hover, {}) vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { desc = 'Go to definition' }) vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, { desc = 'Show Code Actions' }) end } }