2019-01-31 23:39:38 +01:00
|
|
|
let
|
2020-10-28 21:43:33 +01:00
|
|
|
inherit (import ./lib/default.nix) sshPort;
|
|
|
|
|
|
2021-12-29 10:24:47 +01:00
|
|
|
krops = builtins.fetchGit { url = "https://cgit.krebsco.de/krops/"; };
|
2019-01-31 23:39:38 +01:00
|
|
|
lib = import "${krops}/lib";
|
2020-06-10 17:37:25 +02:00
|
|
|
pkgs = import "${krops}/pkgs" { };
|
2019-01-31 23:39:38 +01:00
|
|
|
|
2021-12-29 10:24:47 +01:00
|
|
|
source = name: lib.evalSource [{
|
|
|
|
|
niveum.file = toString ./.;
|
|
|
|
|
system-secrets.pass = {
|
|
|
|
|
dir = toString ~/.password-store;
|
|
|
|
|
name = "systems/${name}";
|
|
|
|
|
};
|
|
|
|
|
secrets.pass = {
|
|
|
|
|
dir = toString ~/.password-store;
|
|
|
|
|
name = "shared";
|
|
|
|
|
};
|
|
|
|
|
}];
|
2019-10-26 13:43:30 +02:00
|
|
|
|
2021-12-29 10:24:47 +01:00
|
|
|
command = targetPath: ''
|
|
|
|
|
nix-shell -p git --run '
|
|
|
|
|
nixos-rebuild switch -v --show-trace --flake ${targetPath}/niveum || \
|
|
|
|
|
nixos-rebuild switch -v --flake ${targetPath}/niveum
|
|
|
|
|
'
|
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
createHost = name: target: pkgs.krops.writeCommand "deploy-${name}" {
|
|
|
|
|
source = source name;
|
|
|
|
|
inherit command target;
|
2021-03-30 23:18:56 +02:00
|
|
|
};
|
2021-12-29 10:24:47 +01:00
|
|
|
in rec {
|
|
|
|
|
zaatar = createHost "zaatar" "root@zaatar.r:${toString sshPort}";
|
|
|
|
|
kabsa = createHost "kabsa" "root@kabsa.r:${toString sshPort}";
|
|
|
|
|
makanek = createHost "kabsa" "root@makanek.r:${toString sshPort}";
|
|
|
|
|
manakish = createHost "kabsa" "root@manakish.r:${toString sshPort}";
|
|
|
|
|
all = pkgs.writeScript "deploy-all"
|
|
|
|
|
(lib.concatStringsSep "\n" [ zaatar kabsa makanek manakish ]);
|
2019-01-31 23:39:38 +01:00
|
|
|
}
|