From b0323e5fe1d2c672f2b88749cda5831185dc2ce7 Mon Sep 17 00:00:00 2001 From: matt1432 Date: Sat, 11 May 2024 19:45:04 -0400 Subject: [PATCH] feat(nvim): setup lua_ls --- common/home/neovim/langs/lua.nix | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/common/home/neovim/langs/lua.nix b/common/home/neovim/langs/lua.nix index 07e5906..b208fe9 100644 --- a/common/home/neovim/langs/lua.nix +++ b/common/home/neovim/langs/lua.nix @@ -6,12 +6,39 @@ }: let inherit (config.vars) neovimIde; inherit (pkgs) vimPlugins; + + flakeEnv = config.programs.bash.sessionVariables.FLAKE; in lib.mkIf neovimIde { programs = { neovim = { + extraPackages = [ + pkgs.lua-language-server + ]; + plugins = [ - vimPlugins.neodev-nvim + { + plugin = vimPlugins.neodev-nvim; + type = "lua"; + config = + /* + lua + */ + '' + -- IMPORTANT: make sure to setup neodev BEFORE lspconfig + require("neodev").setup({ + override = function(root_dir, library) + if root_dir:find('${flakeEnv}', 1, true) == 1 then + library.enabled = true + library.plugins = true + end + end, + }); + + require('lspconfig').lua_ls.setup( + require('coq').lsp_ensure_capabilities({})); + ''; + } ]; }; };