mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 04:19:19 -08:00
Dabbing on mere mortals, folder list
This commit is contained in:
parent
07461d9b1c
commit
3ccfafb192
4 changed files with 8 additions and 5 deletions
|
|
@ -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;
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -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 ]; };
|
||||
|
|
|
|||
|
|
@ -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
5
pkgs/lib/folder-list.nix
Normal 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))
|
||||
Loading…
Add table
Add a link
Reference in a new issue