52 lines
1.0 KiB
Nix
52 lines
1.0 KiB
Nix
{
|
|
self,
|
|
nixpkgs,
|
|
deploy-rs,
|
|
...
|
|
}:
|
|
let
|
|
mkDeploy =
|
|
hostName:
|
|
let
|
|
inherit (self.hosts.${hostName})
|
|
type
|
|
address
|
|
system
|
|
sshUser
|
|
;
|
|
pkgs = import nixpkgs { inherit system; };
|
|
deployPkgs = import nixpkgs {
|
|
inherit system;
|
|
overlays = [
|
|
deploy-rs.overlays.default
|
|
(_self: super: {
|
|
deploy-rs = {
|
|
inherit (pkgs) deploy-rs;
|
|
inherit (super.deploy-rs) lib;
|
|
};
|
|
})
|
|
];
|
|
};
|
|
inherit (deployPkgs.deploy-rs.lib) activate;
|
|
in
|
|
{
|
|
hostname = address;
|
|
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";
|
|
};
|
|
}
|