diff --git a/plugins/lsp/helpers.nix b/plugins/lsp/helpers.nix index 33d82581..b6b6c6c4 100644 --- a/plugins/lsp/helpers.nix +++ b/plugins/lsp/helpers.nix @@ -101,7 +101,11 @@ mkIf cfg.enable { extraPackages = - (optional (package != null) cfg.package) + ( + optional + ((package != null) && (cfg.package != null)) + cfg.package + ) ++ (mapAttrsToList (name: _: cfg."${name}Package") extraPackages); plugins.lsp.enabledServers = [ diff --git a/tests/test-sources/plugins/lsp/nvim-lsp.nix b/tests/test-sources/plugins/lsp/nvim-lsp.nix index b7f1e870..8db31507 100644 --- a/tests/test-sources/plugins/lsp/nvim-lsp.nix +++ b/tests/test-sources/plugins/lsp/nvim-lsp.nix @@ -31,6 +31,11 @@ print('The clangd language server has been attached !') ''; }; + # Do not install the language server using nixvim + gopls = { + enable = true; + package = null; + }; nil_ls.enable = true; rust-analyzer.enable = true; ruff-lsp = {