nixos-config/lib/default.nix
2025-01-16 10:08:58 +01:00

29 lines
729 B
Nix

l: let
b = builtins;
in rec {
loadBranch = branch:
l.mapAttrs' (leaf: _: {
name = l.removeSuffix ".nix" leaf;
value = /${branch}/${leaf};
}) (b.readDir /${branch});
loadTree2 = dir: (l.mapAttrs (branch: _: loadBranch /${dir}/${branch})) (b.readDir dir);
loadTreeInf = dir:
l.mapAttrs' (
name: value: {
name = l.removeSuffix ".nix" name;
value =
if value == "directory"
then loadTreeInf (dir + /${name})
else (dir + /${name});
}
) (b.readDir dir);
loadConfigurations = dir: specialArgs:
(b.mapAttrs (name: _:
l.nixosSystem {
modules = [(dir + /${name})];
inherit specialArgs;
})) (b.readDir dir);
}