nixops/common/deployment.nix
2021-11-19 22:30:51 -08:00

38 lines
809 B
Nix

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