add deploy-rs for remotely deploy nixos config

This commit is contained in:
ulic-youthlic 2025-01-27 18:35:41 +08:00
parent cf03484587
commit ae7d74249b
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
15 changed files with 290 additions and 85 deletions

View file

@ -75,6 +75,10 @@
url = "github:XIU2/TrackersListCollection";
flake = false;
};
deploy-rs = {
url = "github:serokell/deploy-rs";
};
};
outputs =
{
@ -232,6 +236,50 @@
)
);
}
)
// (
let
mkDeployNode =
{
hostName,
unixName ? "deploy",
system ? "x86_64-linux",
sshName ? hostName,
}:
{
"${hostName}" = {
hostname = "${sshName}";
sshUser = "${unixName}";
interactiveSudo = true;
sshOpts = [
"-i"
"/home/david/.ssh/id_ed25519_deploy"
];
profiles = {
system = {
user = "${unixName}";
path =
inputs.deploy-rs.lib."${system}".activate.nixos
self.outputs.nixosConfigurations."${hostName}";
};
};
};
};
in
{
deploy.nodes = nixpkgs.lib.foldr (a: b: a // b) { } (
map
(
hostName:
mkDeployNode {
inherit hostName;
}
)
[
"Cape"
]
);
}
);
};
}