Initial commit
This commit is contained in:
commit
cfcc57a8bd
353 changed files with 18756 additions and 0 deletions
34
flake/den/modules/aspects/definition.nix
Normal file
34
flake/den/modules/aspects/definition.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# create aspect dependencies from hosts/users
|
||||
{
|
||||
lib,
|
||||
den,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (den.lib) parametric;
|
||||
|
||||
makeAspect = from: {
|
||||
${from.aspect} = {
|
||||
${from.class} = { };
|
||||
includes = [ den.default ];
|
||||
__functor = parametric.atLeast;
|
||||
};
|
||||
};
|
||||
|
||||
hosts = map builtins.attrValues (builtins.attrValues den.hosts);
|
||||
homes = map builtins.attrValues (builtins.attrValues den.homes);
|
||||
aspectClass = from: { inherit (from) aspect class; };
|
||||
|
||||
deps = lib.pipe hosts [
|
||||
(lib.flatten)
|
||||
(map (h: builtins.attrValues h.users))
|
||||
(users: users ++ hosts ++ homes)
|
||||
(lib.flatten)
|
||||
(map aspectClass)
|
||||
(lib.unique)
|
||||
(map makeAspect)
|
||||
];
|
||||
in
|
||||
{
|
||||
den.aspects = lib.mkMerge deps;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue