at 24.11-pre 845 B view raw
1{ lib }: 2 3let 4 inherit (lib) mkIf versionAtLeast versionOlder; 5in 6{ 7 8 9 # Keeping these around in case we decide to change this horrible implementation :) 10 option = x: 11 x // { optional = true; }; 12 13 yes = { tristate = "y"; optional = false; }; 14 no = { tristate = "n"; optional = false; }; 15 module = { tristate = "m"; optional = false; }; 16 unset = { tristate = null; optional = false; }; 17 freeform = x: { freeform = x; optional = false; }; 18 19 20 # Common patterns/legacy used in common-config/hardened/config.nix 21 whenHelpers = version: { 22 whenAtLeast = ver: mkIf (versionAtLeast version ver); 23 whenOlder = ver: mkIf (versionOlder version ver); 24 # range is (inclusive, exclusive) 25 whenBetween = verLow: verHigh: mkIf (versionAtLeast version verLow && versionOlder version verHigh); 26 }; 27 28}