diff options
Diffstat (limited to 'pkgs/stdenv/booter.nix')
-rw-r--r-- | pkgs/stdenv/booter.nix | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/pkgs/stdenv/booter.nix b/pkgs/stdenv/booter.nix index 11ca8e1440e..6e5d073e55a 100644 --- a/pkgs/stdenv/booter.nix +++ b/pkgs/stdenv/booter.nix @@ -57,12 +57,18 @@ stageFuns: let # debugging purposes. folder = stageFun: finalSoFar: let args = stageFun finalSoFar; - stdenv = args.stdenv // { - # For debugging - __bootPackages = finalSoFar; + args' = args // { + stdenv = args.stdenv // { + # For debugging + __bootPackages = finalSoFar; + }; }; - args' = args // { inherit stdenv; }; - in - (if args.__raw or false then lib.id else allPackages) args'; + self = + if args.__raw or false + then args' + else allPackages ((builtins.removeAttrs args' ["selfBuild"]) // { + buildPackages = if args.selfBuild or true then self else finalSoFar; + }); + in self; in lib.lists.fold folder {} withAllowCustomOverrides |