blob: fbf20d3ffc11903a05eaedf0cedfe32a36a023a8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
{
lib,
inputs,
self,
...
}: let
targets = ["atlas"];
configurations = self.nixosConfigurations // self.darwinConfigurations;
getDeploy = pkgs:
(pkgs.appendOverlays [
inputs.deploy.overlay
(_: prev: {
deploy-rs = {
inherit (pkgs) deploy-rs;
inherit (prev.deploy-rs) lib;
};
})
])
.deploy-rs;
toType = system:
{
"Linux" = "nixos";
"Darwin" = "darwin";
}
.${system};
toDeployNode = hostname: system: {
sshUser = "root";
inherit hostname;
profiles.system.path = let
deploy = getDeploy system.pkgs;
type = toType system.pkgs.stdenv.hostPlatform.uname.system;
in
deploy.lib.activate.${type} system;
};
in {
flake.deploy = {
remoteBuild = true;
fastConnection = false;
nodes = lib.mapAttrs toDeployNode (lib.getAttrs targets configurations);
};
}
|