summary refs log tree commit diff
path: root/lib/kernel.nix
diff options
context:
space:
mode:
Diffstat (limited to 'lib/kernel.nix')
-rw-r--r--lib/kernel.nix26
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);
+  };
+
+}