summaryrefslogtreecommitdiffstats
path: root/lib/kernel-version.nix
blob: 99115a7f75e3fead289ac0426652665674746cbe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
  );

}