Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 19.09-beta 21 lines 591 B view raw
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}