run nix format on this repository
This commit is contained in:
parent
db07347757
commit
5a3edc7ff0
19 changed files with 363 additions and 174 deletions
53
lib/scan.nix
53
lib/scan.nix
|
|
@ -1,23 +1,42 @@
|
|||
{ base, convert ? name: value: value, recursive ? false }:
|
||||
{
|
||||
base,
|
||||
convert ? name: value: value,
|
||||
recursive ? false,
|
||||
}:
|
||||
let
|
||||
scan = sub: let
|
||||
all = builtins.readDir (base + "/${builtins.concatStringsSep "/" sub}");
|
||||
names = filter: builtins.filter filter (builtins.attrNames all);
|
||||
nix = name: all.${name} == "regular" && builtins.stringLength name > 4 && builtins.substring (builtins.stringLength name - 4) 4 name == ".nix";
|
||||
dir = name: all.${name} == "directory";
|
||||
files = map (name: sub ++ [ (builtins.substring 0 (builtins.stringLength name - 4) name) ]) (names nix);
|
||||
dirs = builtins.concatLists (map (name: scan (sub ++ [name])) (names dir));
|
||||
in if recursive then files ++ dirs else files;
|
||||
scan =
|
||||
sub:
|
||||
let
|
||||
all = builtins.readDir (base + "/${builtins.concatStringsSep "/" sub}");
|
||||
names = filter: builtins.filter filter (builtins.attrNames all);
|
||||
nix =
|
||||
name:
|
||||
all.${name} == "regular"
|
||||
&& builtins.stringLength name > 4
|
||||
&& builtins.substring (builtins.stringLength name - 4) 4 name == ".nix";
|
||||
dir = name: all.${name} == "directory";
|
||||
files = map (name: sub ++ [ (builtins.substring 0 (builtins.stringLength name - 4) name) ]) (
|
||||
names nix
|
||||
);
|
||||
dirs = builtins.concatLists (map (name: scan (sub ++ [ name ])) (names dir));
|
||||
in
|
||||
if recursive then files ++ dirs else files;
|
||||
|
||||
root = scan [];
|
||||
root = scan [ ];
|
||||
|
||||
item = relative: let
|
||||
name = builtins.concatStringsSep "/" relative;
|
||||
absolute = base + "/${name}.nix";
|
||||
content = import absolute;
|
||||
value = convert name content;
|
||||
in { inherit name value; };
|
||||
item =
|
||||
relative:
|
||||
let
|
||||
name = builtins.concatStringsSep "/" relative;
|
||||
absolute = base + "/${name}.nix";
|
||||
content = import absolute;
|
||||
value = convert name content;
|
||||
in
|
||||
{
|
||||
inherit name value;
|
||||
};
|
||||
|
||||
items = map item root;
|
||||
|
||||
in if builtins.pathExists base then builtins.listToAttrs (map item root) else {}
|
||||
in
|
||||
if builtins.pathExists base then builtins.listToAttrs (map item root) else { }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue