query
On this page

optionalDrvAttr

lib.optionalDrvAttr

Docs pulled from | This Revision | 22 minutes ago


Conditionally set a derivation attribute.

Because mkDerivation sets __ignoreNulls = true, a derivation attribute set to null will not impact the derivation output hash. Thus, this function passes through its value argument if the cond is true, but returns null if not.

Inputs

cond

Condition

value

Attribute value

Type

optionalDrvAttr :: Bool -> a -> a | Null

Examples

lib.derivations.optionalDrvAttr usage example

(stdenv.mkDerivation {
  name = "foo";
  x = optionalDrvAttr true 1;
  y = optionalDrvAttr false 1;
}).drvPath == (stdenv.mkDerivation {
  name = "foo";
  x = 1;
}).drvPath
=> true
(lib.derivations.optionalDrvAttr)

Noogle detected

Aliases

Implementation

The following is the current implementation of this function.

optionalDrvAttr =
    cond:
    value: if cond then value else null;