summary refs log tree commit diff
path: root/lib/customisation.nix
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2021-05-06 15:48:25 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2021-05-06 15:48:25 -0400
commita3e54cb5823b4f338ce46acccb142bae7de585c2 (patch)
tree223806f291391df55301db8843a4a9bfe9f68349 /lib/customisation.nix
parentc63e69cd894faada0daaef386fcc6273a957c66e (diff)
parent5f7ad00ae9e1ee00573798e7f9ddfdd28456b075 (diff)
downloadnixpkgs-a3e54cb5823b4f338ce46acccb142bae7de585c2.tar
nixpkgs-a3e54cb5823b4f338ce46acccb142bae7de585c2.tar.gz
nixpkgs-a3e54cb5823b4f338ce46acccb142bae7de585c2.tar.bz2
nixpkgs-a3e54cb5823b4f338ce46acccb142bae7de585c2.tar.lz
nixpkgs-a3e54cb5823b4f338ce46acccb142bae7de585c2.tar.xz
nixpkgs-a3e54cb5823b4f338ce46acccb142bae7de585c2.tar.zst
nixpkgs-a3e54cb5823b4f338ce46acccb142bae7de585c2.zip
Merge remote-tracking branch 'upstream/staging-next' into staging
Diffstat (limited to 'lib/customisation.nix')
-rw-r--r--lib/customisation.nix8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/customisation.nix b/lib/customisation.nix
index 37a7951896b..c17cb0d0f8e 100644
--- a/lib/customisation.nix
+++ b/lib/customisation.nix
@@ -219,16 +219,17 @@ rec {
 
   /* Like the above, but aims to support cross compilation. It's still ugly, but
      hopefully it helps a little bit. */
-  makeScopeWithSplicing = splicePackages: newScope: otherSplices: keep: f:
+  makeScopeWithSplicing = splicePackages: newScope: otherSplices: keep: extra: f:
     let
-      spliced = splicePackages {
+      spliced0 = splicePackages {
         pkgsBuildBuild = otherSplices.selfBuildBuild;
         pkgsBuildHost = otherSplices.selfBuildHost;
         pkgsBuildTarget = otherSplices.selfBuildTarget;
         pkgsHostHost = otherSplices.selfHostHost;
         pkgsHostTarget = self; # Not `otherSplices.selfHostTarget`;
         pkgsTargetTarget = otherSplices.selfTargetTarget;
-      } // keep self;
+      };
+      spliced = extra spliced0 // spliced0 // keep self;
       self = f self // {
         newScope = scope: newScope (spliced // scope);
         callPackage = newScope spliced; # == self.newScope {};
@@ -239,6 +240,7 @@ rec {
           newScope
           otherSplices
           keep
+          extra
           (lib.fixedPoints.extends g f);
         packages = f;
       };