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