Dabbing on mere mortals, folder list

This commit is contained in:
kat witch 2021-08-09 23:24:13 +01:00
parent 07461d9b1c
commit 3ccfafb192
No known key found for this signature in database
GPG key ID: 1B477797DCA5EC72
4 changed files with 8 additions and 5 deletions

View file

@ -18,7 +18,7 @@ let
filterAttrNamesToList = filter: set:
lib.foldl' (a: b: a ++ b) [ ]
(map (e: if (filter e set.${e}) then [ e ] else [ ]) (lib.attrNames set));
depotNames = lib.unique ((filterAttrNamesToList (name: type: name != "trusted" && type == "directory") (builtins.readDir ./depot)) ++ (filterAttrNamesToList (name: type: name != "pkgs" && type == "directory") (builtins.readDir ./depot/trusted)));
depotNames = lib.unique ((lib.folderList ./depot ["trusted"]) ++ (lib.folderList ./depot/trusted ["pkgs"]));
depot = lib.mapListToAttrs (folder: lib.nameValuePair folder (lib.domainMerge { inherit folder; })) depotNames;
/*

View file

@ -9,10 +9,7 @@ let katUser = { lib }: let
(./. + "/${profile}")
];
};
}; filterAttrNamesToList = filter: set:
lib.foldl' (a: b: a ++ b) [ ]
(map (e: if (filter e set.${e}) then [ e ] else [ ]) (lib.attrNames set));
profileNames = (filterAttrNamesToList (name: type: name != "base" && type == "directory") (builtins.readDir ./.));
}; profileNames = lib.folderList ./. ["base"];
userProfiles = with userProfiles;
lib.genAttrs profileNames userImport // {
base = { imports = [ ./nixos.nix (userImport "base") trustedImport ]; };

View file

@ -15,4 +15,5 @@
domainMerge = import ./domain-merge.nix { inherit lib; };
modListMerge = import ./intersect-merge.nix { inherit lib; };
modList = import ./module-list.nix { inherit lib; };
folderList = import ./folder-list.nix { inherit lib; };
}; in katlib

5
pkgs/lib/folder-list.nix Normal file
View file

@ -0,0 +1,5 @@
{ lib }: path: excludes: let
filterAttrNamesToList = filter: set:
lib.foldl' (a: b: a ++ b) [ ]
(map (e: if (filter e set.${e}) then [ e ] else [ ]) (lib.attrNames set));
in (filterAttrNamesToList (name: type: ! (builtins.elem name excludes) && type == "directory") (builtins.readDir path))