Merge pull request #270774 from emilytrau/libbacktrace-musl
[NixPkgs.git] / lib / kernel.nix
blob33da9663a8edf909a598bf0273d4b3fb481c295b
1 { lib }:
3 with lib;
7   # Keeping these around in case we decide to change this horrible implementation :)
8   option = x:
9       x // { optional = true; };
11   yes      = { tristate    = "y";  optional = false; };
12   no       = { tristate    = "n";  optional = false; };
13   module   = { tristate    = "m";  optional = false; };
14   unset    = { tristate    = null; optional = false; };
15   freeform = x: { freeform = x; optional = false; };
17   /*
18     Common patterns/legacy used in common-config/hardened/config.nix
19    */
20   whenHelpers = version: {
21     whenAtLeast = ver: mkIf (versionAtLeast version ver);
22     whenOlder   = ver: mkIf (versionOlder version ver);
23     # range is (inclusive, exclusive)
24     whenBetween = verLow: verHigh: mkIf (versionAtLeast version verLow && versionOlder version verHigh);
25   };