about summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorArtturin <Artturin@artturin.com>2022-11-18 06:54:41 +0200
committerArtturin <Artturin@artturin.com>2022-11-18 18:44:12 +0200
commit70225566221179720a110bcbd66267dd8f4ec536 (patch)
treed4049382829bb6158b3a39427ee625f90f06addf /lib
parentdba0c71b6d15e323d4b8235d9474322520938dc8 (diff)
lib.overrideDerivation: override attrs in __spliced
Diffstat (limited to 'lib')
-rw-r--r--lib/customisation.nix14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/customisation.nix b/lib/customisation.nix
index cc9a9b1c55d0a..de424b0d722b8 100644
--- a/lib/customisation.nix
+++ b/lib/customisation.nix
@@ -38,12 +38,14 @@ rec {
       //
       (drv.passthru or {})
       //
-      (if (drv ? crossDrv && drv ? nativeDrv)
-       then {
-         crossDrv = overrideDerivation drv.crossDrv f;
-         nativeDrv = overrideDerivation drv.nativeDrv f;
-       }
-       else { }));
+      (lib.optionalAttrs (drv ? crossDrv && drv ? nativeDrv) {
+        crossDrv = overrideDerivation drv.crossDrv f;
+        nativeDrv = overrideDerivation drv.nativeDrv f;
+      })
+      //
+      lib.optionalAttrs (drv ? __spliced) {
+        __spliced = {} // (lib.mapAttrs (_: sDrv: overrideDerivation sDrv f) drv.__spliced);
+      });
 
 
   /* `makeOverridable` takes a function from attribute set to attribute set and