diff --git a/tests/lsp-servers.nix b/tests/lsp-servers.nix index 55afeef7..e6348f9e 100644 --- a/tests/lsp-servers.nix +++ b/tests/lsp-servers.nix @@ -58,11 +58,17 @@ let plugins.lsp.servers = lib.pipe options.plugins.lsp.servers [ (lib.mapAttrs ( server: opts: + let + # Some servers are defined using mkUnpackagedOption whose default will throw + pkg = builtins.tryEval opts.package.default; + hasPkg = opts ? package.default && pkg.success; + isUnfree = pkg.value.meta.unfree or false; + isDisabled = lib.elem server disabled; + in { - enable = !(lib.elem server disabled); + enable = !isDisabled; } - # Some servers are defined using mkUnpackagedOption whose default will throw - // lib.optionalAttrs (opts ? package && !(builtins.tryEval opts.package.default).success) { + // lib.optionalAttrs (hasPkg -> isUnfree) { package = null; } ))