Files
dev/src/dotfiles/hosts.nix

43 lines
816 B
Nix

{
inputs,
lib,
root,
specialArgs,
repositoryModules,
guestModules,
registryModule,
}:
let
names = lib.attrNames directories;
directories = lib.filterAttrs (_name: type: type == "directory") (builtins.readDir root);
mkHost =
{
root,
name,
}:
lib.nixosSystem {
inherit specialArgs;
modules = [
inputs.chaotic.nixosModules.default
inputs.disko.nixosModules.disko
inputs.sops-nix.nixosModules.sops
inputs.stylix.nixosModules.stylix
repositoryModules
guestModules
# TODO: refactor
registryModule
(root + "/${name}")
{
networking.hostName = name;
modules.host.enable = true;
}
];
};
in
lib.genAttrs names (name: mkHost { inherit root name; })