add deploy-rs for remotely deploy nixos config
This commit is contained in:
parent
cf03484587
commit
ae7d74249b
15 changed files with 290 additions and 85 deletions
48
flake.nix
48
flake.nix
|
|
@ -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"
|
||||
]
|
||||
);
|
||||
}
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue