diff options
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/krops/default.nix | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/pkgs/krops/default.nix b/pkgs/krops/default.nix index 98d7e17..6bef6e1 100644 --- a/pkgs/krops/default.nix +++ b/pkgs/krops/default.nix @@ -2,7 +2,19 @@ let lib = import ../../lib; in -{ nix, openssh, populate, writeDash, writeJSON }: { +{ exec, nix, openssh, populate, writeDash, writeJSON }: rec { + + rebuild = target: + exec "rebuild.${target.host}" rec { + filename = "${openssh}/bin/ssh"; + argv = [ + filename + "-l" target.user + "-p" target.port + target.host + "nixos-rebuild switch -I ${lib.escapeShellArg target.path}" + ]; + }; writeDeploy = name: { source, target }: let target' = lib.mkTarget target; @@ -10,9 +22,7 @@ in writeDash name '' set -efu ${populate { inherit source; target = target'; }} - ${openssh}/bin/ssh \ - ${target'.user}@${target'.host} -p ${target'.port} \ - nixos-rebuild switch -I ${target'.path} + ${rebuild target'} ''; writeTest = name: { source, target }: let |