diff options
author | Robert Hensing <robert@roberthensing.nl> | 2023-01-29 23:39:27 +0100 |
---|---|---|
committer | Robert Hensing <robert@roberthensing.nl> | 2023-01-30 00:35:34 +0100 |
commit | 473ac9692e09451ef6025e50ccfa19efe5ae69a9 (patch) | |
tree | d530656502147112cd360731c53d663485024275 /lib/customisation.nix | |
parent | 974d331e14318ba27a37874763db0bf32162f1aa (diff) | |
download | nixlib-473ac9692e09451ef6025e50ccfa19efe5ae69a9.tar nixlib-473ac9692e09451ef6025e50ccfa19efe5ae69a9.tar.gz nixlib-473ac9692e09451ef6025e50ccfa19efe5ae69a9.tar.bz2 nixlib-473ac9692e09451ef6025e50ccfa19efe5ae69a9.tar.lz nixlib-473ac9692e09451ef6025e50ccfa19efe5ae69a9.tar.xz nixlib-473ac9692e09451ef6025e50ccfa19efe5ae69a9.tar.zst nixlib-473ac9692e09451ef6025e50ccfa19efe5ae69a9.zip |
lib.hydraJob: Tolerate null
By allowing null, we allow code to avoid filterAttrs, improving laziness in real world use cases. Specifically, this strategy prevents infinite recursion errors, performance issues and possibly other errors that are unrelated to the user's code.
Diffstat (limited to 'lib/customisation.nix')
-rw-r--r-- | lib/customisation.nix | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/customisation.nix b/lib/customisation.nix index 101c9e62b9e6..42d711cf5fb9 100644 --- a/lib/customisation.nix +++ b/lib/customisation.nix @@ -252,7 +252,8 @@ rec { outputsList = map makeOutput outputs; drv' = (lib.head outputsList).value; - in lib.deepSeq drv' drv'; + in if drv == null then null else + lib.deepSeq drv' drv'; /* Make a set of packages with a common scope. All packages called with the provided `callPackage` will be evaluated with the same |