mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 12:29: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:
|
filterAttrNamesToList = filter: set:
|
||||||
lib.foldl' (a: b: a ++ b) [ ]
|
lib.foldl' (a: b: a ++ b) [ ]
|
||||||
(map (e: if (filter e set.${e}) then [ e ] else [ ]) (lib.attrNames set));
|
(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;
|
depot = lib.mapListToAttrs (folder: lib.nameValuePair folder (lib.domainMerge { inherit folder; })) depotNames;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,7 @@ let katUser = { lib }: let
|
||||||
(./. + "/${profile}")
|
(./. + "/${profile}")
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}; filterAttrNamesToList = filter: set:
|
}; profileNames = lib.folderList ./. ["base"];
|
||||||
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 ./.));
|
|
||||||
userProfiles = with userProfiles;
|
userProfiles = with userProfiles;
|
||||||
lib.genAttrs profileNames userImport // {
|
lib.genAttrs profileNames userImport // {
|
||||||
base = { imports = [ ./nixos.nix (userImport "base") trustedImport ]; };
|
base = { imports = [ ./nixos.nix (userImport "base") trustedImport ]; };
|
||||||
|
|
|
||||||
|
|
@ -15,4 +15,5 @@
|
||||||
domainMerge = import ./domain-merge.nix { inherit lib; };
|
domainMerge = import ./domain-merge.nix { inherit lib; };
|
||||||
modListMerge = import ./intersect-merge.nix { inherit lib; };
|
modListMerge = import ./intersect-merge.nix { inherit lib; };
|
||||||
modList = import ./module-list.nix { inherit lib; };
|
modList = import ./module-list.nix { inherit lib; };
|
||||||
|
folderList = import ./folder-list.nix { inherit lib; };
|
||||||
}; in katlib
|
}; 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