diff options
Diffstat (limited to 'pkgs/top-level/default.nix')
-rw-r--r-- | pkgs/top-level/default.nix | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix index da7fc1bed34c..dcd443a1c29e 100644 --- a/pkgs/top-level/default.nix +++ b/pkgs/top-level/default.nix @@ -22,9 +22,8 @@ # `*Platform`s. localSystem -, # The system packages will ultimately be run on. Null if the two should be the - # same. - crossSystem ? null +, # The system packages will ultimately be run on. + crossSystem ? localSystem , # Allow a configuration attribute set to be passed in as an argument. config ? {} @@ -32,6 +31,9 @@ , # List of overlays layers used to extend Nixpkgs. overlays ? [] +, # List of overlays to apply to target packages only. + crossOverlays ? [] + , # A function booting the final package set for a specific standard # environment. See below for the arguments given to that function, the type of # list it returns. @@ -61,7 +63,8 @@ in let builtins.intersectAttrs { platform = null; } config // args.localSystem); - crossSystem = lib.mapNullable lib.systems.elaborate crossSystem0; + crossSystem = if crossSystem0 == null then localSystem + else lib.systems.elaborate crossSystem0; # A few packages make a new package set to draw their dependencies from. # (Currently to get a cross tool chain, or forced-i686 package.) Rather than @@ -91,7 +94,7 @@ in let boot = import ../stdenv/booter.nix { inherit lib allPackages; }; stages = stdenvStages { - inherit lib localSystem crossSystem config overlays; + inherit lib localSystem crossSystem config overlays crossOverlays; }; pkgs = boot stages; |