1{ lib, version }:
2
3with lib;
4{
5 # Common patterns/legacy
6 whenAtLeast = ver: mkIf (versionAtLeast version ver);
7 whenOlder = ver: mkIf (versionOlder version ver);
8 # range is (inclusive, exclusive)
9 whenBetween = verLow: verHigh: mkIf (versionAtLeast version verLow && versionOlder version verHigh);
10
11
12 # Keeping these around in case we decide to change this horrible implementation :)
13 option = x:
14 x // { optional = true; };
15
16 yes = { tristate = "y"; };
17 no = { tristate = "n"; };
18 module = { tristate = "m"; };
19 freeform = x: { freeform = x; };
20
21}