{ pkgs, nixLib, nixpkgs, specialArgs, extraModules, deployPackage, }: let hostnames = builtins.fromTOML (builtins.readFile ./host-names.toml); hosts = nixLib.mkByName { useShards = false; baseDirectory = ./by-name; fileName = "configuration.nix"; finalizeFunction = name: value: value; }; mkNixosConfiguration = _: value: nixpkgs.lib.nixosSystem { system = "x86_64-linux"; inherit specialArgs; modules = extraModules ++ [ ../modules value ]; }; nixosConfigurations = builtins.mapAttrs mkNixosConfiguration hosts; mkDeploy = name: _: { hostname = hostnames."${name}"; profiles.system = { user = "root"; path = deployPackage.lib.activate.nixos nixosConfigurations."${name}"; }; }; deploy = {nodes = builtins.mapAttrs mkDeploy hosts;}; in { inherit nixosConfigurations deploy; }