diff options
-rw-r--r-- | default.nix | 10 | ||||
-rw-r--r-- | krebs/4lib/maybe.nix | 10 |
2 files changed, 12 insertions, 8 deletions
diff --git a/default.nix b/default.nix index fd127084d..841882f54 100644 --- a/default.nix +++ b/default.nix @@ -7,6 +7,8 @@ assert current-user-name != ""; let lib = import <nixpkgs/lib>; + klib = import ./krebs/4lib { inherit lib; }; +in with klib; let nspath = ns: p: ./. + "/${ns}/${p}"; kpath = nspath "krebs"; @@ -67,12 +69,4 @@ let }.${v} or Nothing) (builtins.readDir path))); - # TODO move to lib - Just = x: { type = "maybe"; value = x; }; - Nothing = { type = "maybe"; }; - isMaybe = x: builtins.typeOf x == "set" && x.type or false == "maybe"; - isJust = x: isMaybe x && builtins.hasAttr "value" x; - fromJust = x: assert isJust x; x.value; - catMaybes = xs: map fromJust (builtins.filter isJust xs); - in out diff --git a/krebs/4lib/maybe.nix b/krebs/4lib/maybe.nix new file mode 100644 index 000000000..5189c99a1 --- /dev/null +++ b/krebs/4lib/maybe.nix @@ -0,0 +1,10 @@ +{ ... }: + +rec { + Just = x: { type = "maybe"; value = x; }; + Nothing = { type = "maybe"; }; + isMaybe = x: builtins.typeOf x == "set" && x.type or false == "maybe"; + isJust = x: isMaybe x && builtins.hasAttr "value" x; + fromJust = x: assert isJust x; x.value; + catMaybes = xs: map fromJust (builtins.filter isJust xs); +} |