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.
92 lines
2.5 KiB
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;
|
|
};
|
|
}
|