This repository has been archived on 2026-08-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
dotfiles/flake/host.nix

49 lines
958 B
Nix

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