From b5d3a53de1d91dad2c9267f843d587db8b841855 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Wed, 25 Mar 2026 14:38:31 +0100 Subject: [PATCH] nodejs: provide fallback passthru values on the symlink variant Follow-up on dbcb81f67b5f1b652931c2aa7925f6b4f6837204 Derivations are recommended to replace `nodejs` with `nodejs-slim`. --- pkgs/development/web/nodejs/symlink.nix | 40 +++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/nodejs/symlink.nix b/pkgs/development/web/nodejs/symlink.nix index 87bbdbec6314..d2b0e6e19151 100644 --- a/pkgs/development/web/nodejs/symlink.nix +++ b/pkgs/development/web/nodejs/symlink.nix @@ -3,7 +3,7 @@ nodejs-slim, symlinkJoin, }: -symlinkJoin { +(symlinkJoin { pname = "nodejs"; inherit (nodejs-slim) version passthru meta; paths = [ @@ -11,4 +11,40 @@ symlinkJoin { nodejs-slim.npm ] ++ lib.optional (builtins.hasAttr "corepack" nodejs-slim) nodejs-slim.corepack; -} +}).overrideAttrs + (nodejs: { + passthru = + (builtins.listToAttrs ( + map + (name: { + inherit name; + value = lib.warn "Use nodejs-slim.${name} instead of nodejs.${name}" nodejs-slim.${name}; + }) + ( + builtins.filter ( + name: + !lib.strings.hasPrefix "__" name + && !(builtins.elem name [ + "override" + "overrideAttrs" + "overrideDerivation" + "outputs" + "outputName" + "system" + "type" + + # Filter out arguments of `getOutput` + "bin" + "dev" + "include" + "lib" + "man" + "out" + "static" + ]) + && !(builtins.hasAttr name nodejs) + ) (builtins.attrNames nodejs-slim) + ) + )) + // nodejs.passthru; + })