lib: build-timestamp: hostname: hostOpts: with lib; let pkgs-for = system: import nixpkgs { inherit system; config = { allowUnfree = true; permittedInsecurePackages = [ "openssh-with-gssapi-8.4p1" ]; overlays = [ (import (fudo-pkgs + /overlay.nix)) (import (fudo-nixos + /lib/overlay.nix)) ]; }; }; in fudo-nixos.nixosConfigurations.${hostname} { } // mapAttrs (hostname: hostOpts: let pkgs = pkgs-for hostOpts.arch; host-ip = networks.${hostOpts.domain}.hosts.${hostname}.ipv4-address; in fudo-nixos.nixosConfigurations.${hostname} // { config = { nixpkgs.pkgs = pkgs; imports = [ (host-config hostname) ]; instance = { inherit hostname; }; deployment.targetHost = host-ip; }; }) deployment-hosts