18 lines
456 B
Nix
18 lines
456 B
Nix
|
{ 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; }));
|
||
|
}
|