diff --git a/fn.nix b/fn.nix new file mode 100644 index 0000000..411f7fd --- /dev/null +++ b/fn.nix @@ -0,0 +1,17 @@ +{ lib }: + +with builtins; +with lib; + +rec { + ifelse = a: b: c: if a then b else c; + cwd = toString ./.; + lst = { p ? cwd, t ? "regular", b ? false }: (lists.forEach + (attrNames + (filterAttrs (n: v: v == t) + (readDir p))) + (v: ((optionalString b "${p}/") + v))); + lsf = p: (lst { p = p; }); + lsd = p: (lst { p = p; t = "directory"; b = true; }); + lsfRec = p: b: flatten ((map (np: lsfRec np b) (lsd p)) ++ (lst { p = p; b = b; })); +}