From 4c99ccfe1e7b9aed5c3444a634eb3794b0c54742 Mon Sep 17 00:00:00 2001 From: Matt Sturgeon Date: Fri, 3 Oct 2025 19:13:02 +0100 Subject: [PATCH] tests/lsp-servers: disable building unfree default packages Currently none of the server packages we build are unfree, however if any unfree defaults are added then this test will fail. The two solutions are: 1. Filter out unfree packages - Either set `enable = false` or `package = null` 2. Allow building unfree packages - By setting `nixpkgs.config.allowUnfree = true` For now, I've gone with option 1. --- tests/lsp-servers.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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; } ))