{ nixpkgs, nixpkgs-unstable, machines, dns, agenix, nixos-hardware, kubenix, disko, ... }: let mkNixosSystems = systemDef: builtins.mapAttrs (name: machine: nixpkgs.lib.nixosSystem (systemDef name machine) ) machines; in { nixosConfigurations = mkNixosSystems (name: machine: { system = machine.arch; specialArgs = { inherit nixpkgs-unstable machines machine dns agenix nixos-hardware kubenix disko; }; modules = [ ../. { networking.hostName = name; } { nixpkgs.overlays = [ (final: _prev: { unstable = import nixpkgs-unstable { system = machine.arch; }; }) ]; } ]; }); }