You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
adc/nixos-configs/deploy-rs/flake.nix

92 lines
2.5 KiB

{
description = "Test deployment for my server cluster";
inputs = {
nixpkgs.url =
"github:nixos/nixpkgs/nixos-22.05"; # change this to your desired NixOS version
# For accessing `deploy-rs`'s utility Nix functions
deploy-rs.url = "github:serokell/deploy-rs";
};
outputs = { self, nixpkgs, deploy-rs }: {
nixosConfigurations.seraph = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
../hosts/seraph/configuration.nix
../common/default.nix
];
};
nixosConfigurations.demiurge = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
../hosts/demiurge/configuration.nix
../common/default.nix
];
};
nixosConfigurations.exgod = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
../hosts/exgod/configuration.nix
../common/default.nix
];
};
deploy.nodes.seraph = {
hostname = "seraph";
user = "root";
sshUser = "alice";
# magicRollback = false;
remoteBuild = false;
path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.seraph;
# This forces ssh to connect over IPv4.
sshOpts = [ "-4" ];
profiles.system = {
path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.seraph;
};
};
deploy.nodes.demiurge = {
hostname = "demiurge";
user = "root";
sshUser = "alice";
# magicRollback = false;
remoteBuild = false;
path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.demiurge;
# This forces ssh to connect over IPv4.
sshOpts = [ "-4" ];
profiles.system = {
path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.demiurge;
};
};
deploy.nodes.exgod = {
hostname = "exgod";
user = "root";
sshUser = "alice";
# magicRollback = false;
remoteBuild = false;
path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.exgod;
# This forces ssh to connect over IPv4.
sshOpts = [ "-4" ];
profiles.system = {
path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.exgod;
};
};
# This is highly advised, and will prevent many possible mistakes
checks =
builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy)
deploy-rs.lib;
};
}