diff options
Diffstat (limited to 'lib/kernel.nix')
-rw-r--r-- | lib/kernel.nix | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/kernel.nix b/lib/kernel.nix new file mode 100644 index 00000000000..ffcbc268b76 --- /dev/null +++ b/lib/kernel.nix @@ -0,0 +1,26 @@ +{ lib }: + +with lib; +{ + + + # Keeping these around in case we decide to change this horrible implementation :) + option = x: + x // { optional = true; }; + + yes = { tristate = "y"; optional = false; }; + no = { tristate = "n"; optional = false; }; + module = { tristate = "m"; optional = false; }; + freeform = x: { freeform = x; optional = false; }; + + /* + Common patterns/legacy used in common-config/hardened/config.nix + */ + whenHelpers = version: { + whenAtLeast = ver: mkIf (versionAtLeast version ver); + whenOlder = ver: mkIf (versionOlder version ver); + # range is (inclusive, exclusive) + whenBetween = verLow: verHigh: mkIf (versionAtLeast version verLow && versionOlder version verHigh); + }; + +} |