summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorEmery Hemingway <emery@vfemail.net>2016-02-26 10:40:24 +0100
committerEmery Hemingway <emery@vfemail.net>2016-02-26 11:12:17 +0100
commit0a3514de568ee2884dd642f497cae3740a3e29a4 (patch)
tree895202f323945da1669ef692b365a0387d90fcc1 /lib
parent771087ca8876e84204dc364081100eed46dd6f76 (diff)
new kernelAtleast option at lib/kernel-version.nix
Issues a warning when the kernel version is below a threshhold.
Diffstat (limited to 'lib')
-rw-r--r--lib/kernel-version.nix31
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/kernel-version.nix b/lib/kernel-version.nix
new file mode 100644
index 0000000..99115a7
--- /dev/null
+++ b/lib/kernel-version.nix
@@ -0,0 +1,31 @@
+{ config, lib, ... }:
+with lib;
+let
+ cfg = config;
+in
+{
+ options.kernelAtleast = mkOption {
+ type = types.listOf types.optionSet;
+ options =
+ [ { version = mkOption {
+ type = types.str;
+ example = "4.4";
+ description =
+ "Issue warning when kernel version is below this number.";
+ };
+ msg = mkOption {
+ type = types.str;
+ example = "";
+ };
+ }
+ ];
+ };
+
+ config.warnings = builtins.concatLists (map
+ (x: if (builtins.compareVersions cfg.boot.kernelPackages.kernel.version x.version) == -1
+ then [ "${x.msg} (${cfg.boot.kernelPackages.kernel.version} < ${x.version})" ]
+ else [ ]
+ ) cfg.kernelAtleast
+ );
+
+}