{ description = "Definition of the Seattle NixOps network."; inputs = { nixpkgs.url = "nixpkgs/nixos-21.05"; fudo-secrets.url = "path:/state/secrets"; fudo-nixos = { url = "path:/state/nixops/fudo-nixos"; # url = "git+ssh://fudo_git@git.fudo.org:2222/fudosys/NixOS.git?ref=nixops-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, fudo-nixos, fudo-secrets, ... } @ inputs: with nixpkgs.lib; { nixopsConfigurations.default = let deployment-hosts = filterAttrs (hostname: hostOpts: hostOpts.domain == "sea.fudo.org") fudo-nixos.fudoHosts; build-timestamp = self.sourceInfo.lastModified; host-gen-config = import ./host-config.nix { inherit inputs build-timestamp; }; host-configs = mapAttrs host-gen-config deployment-hosts; in { inherit nixpkgs; network = { description = "Seattle NixOps network"; enableRollback = true; }; } // host-configs; }; }