athens/nix/deploy.nix

40 lines
981 B
Nix
Raw Normal View History

2024-01-26 17:00:00 -05:00
{ self, nixpkgs, deploy-rs, ... }:
let
mkDeploy = hostName:
let
inherit (self.hosts.${hostName}) type address system sshUser;
2024-01-26 17:00:00 -05:00
pkgs = import nixpkgs { inherit system; };
deployPkgs = import nixpkgs {
inherit system;
overlays = [
2024-03-30 13:43:43 -04:00
deploy-rs.overlays.default
2024-01-26 17:00:00 -05:00
(_self: super: {
deploy-rs = {
inherit (pkgs) deploy-rs; inherit (super.deploy-rs) lib;
};
})
];
};
inherit (deployPkgs.deploy-rs.lib) activate;
in
{
hostname = address;
2023-09-10 14:27:05 -04:00
profiles.system = {
user = "root";
inherit sshUser;
path = activate.${type} self."${type}Configurations".${hostName};
};
};
in
{
nodes = {
socrates = mkDeploy "socrates";
plato = mkDeploy "plato";
agent = mkDeploy "agent";
form = mkDeploy "form";
matter = mkDeploy "matter";
purpose = mkDeploy "purpose";
epicurus = mkDeploy "epicurus";
};
}