return { { -- lazydev makes your lsp way better in your config without needing extra lsp configuration. "lazydev.nvim", for_cat = "lua", auto_enable = true, cmd = { "LazyDev" }, ft = "lua", after = function(_) require('lazydev').setup({ library = { { words = { "nixInfo%.lze" }, path = nixInfo("lze", "plugins", "start", "lze") .. '/lua', }, { words = { "nixInfo%.lze" }, path = nixInfo("lzextras", "plugins", "start", "lzextras") .. '/lua' }, }, }) end, }, { -- name of the lsp "lua_ls", for_cat = "lua", -- provide a table containing filetypes, -- and then whatever your functions defined in the function type specs expect. -- in our case, it just expects the normal lspconfig setup options, -- but with a default on_attach and capabilities lsp = { -- if you provide the filetypes it doesn't ask lspconfig for the filetypes filetypes = { 'lua' }, settings = { Lua = { runtime = { version = 'LuaJIT' }, formatters = { ignoreComments = true, }, signatureHelp = { enabled = true }, diagnostics = { globals = { "nixInfo", "vim", }, disable = { 'missing-fields' }, }, telemetry = { enabled = false }, }, }, }, }, }