summary refs log tree commit diff
path: root/nixos/modules/misc
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2023-06-16 21:28:06 +0200
committerRobert Hensing <robert@roberthensing.nl>2023-06-16 21:46:26 +0200
commita742767bafecf0644585309b744e24f90cdff207 (patch)
tree370f787aa05693d25be822ed83d322e64576aa38 /nixos/modules/misc
parenteaebbdf59ac1c9dd72011854d8bbad18b22e4cff (diff)
downloadnixpkgs-a742767bafecf0644585309b744e24f90cdff207.tar
nixpkgs-a742767bafecf0644585309b744e24f90cdff207.tar.gz
nixpkgs-a742767bafecf0644585309b744e24f90cdff207.tar.bz2
nixpkgs-a742767bafecf0644585309b744e24f90cdff207.tar.lz
nixpkgs-a742767bafecf0644585309b744e24f90cdff207.tar.xz
nixpkgs-a742767bafecf0644585309b744e24f90cdff207.tar.zst
nixpkgs-a742767bafecf0644585309b744e24f90cdff207.zip
nixos/nixpkgs: Make default Nixpkgs lazy when overridden
Diffstat (limited to 'nixos/modules/misc')
-rw-r--r--nixos/modules/misc/nixpkgs.nix10
1 files changed, 9 insertions, 1 deletions
diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix
index 55ec08acf44..8a20e31d513 100644
--- a/nixos/modules/misc/nixpkgs.nix
+++ b/nixos/modules/misc/nixpkgs.nix
@@ -337,7 +337,15 @@ in
 
   config = {
     _module.args = {
-      pkgs = finalPkgs.__splicedPackages;
+      pkgs =
+        # We explicitly set the default override priority, so that we do not need
+        # to evaluate finalPkgs in case an override is placed on `_module.args.pkgs`.
+        # After all, to determine a definition priority, we need to evaluate `._type`,
+        # which is somewhat costly for Nixpkgs. With an explicit priority, we only
+        # evaluate the wrapper to find out that the priority is lower, and then we
+        # don't need to evaluate `finalPkgs`.
+        lib.mkOverride lib.modules.defaultOverridePriority
+          finalPkgs.__splicedPackages;
     };
 
     assertions = [