diff options
| -rw-r--r-- | pkgs/krops/default.nix | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/pkgs/krops/default.nix b/pkgs/krops/default.nix index d5a75d7..f449474 100644 --- a/pkgs/krops/default.nix +++ b/pkgs/krops/default.nix @@ -4,6 +4,24 @@ in  { exec, nix, openssh, populate, writeDash }: rec { +  build = target: +    exec "rebuild.${target.host}" rec { +      filename = "${openssh}/bin/ssh"; +      argv = [ +        filename +        "-l" target.user +        "-p" target.port +        "-t" +        target.host +        (lib.concatStringsSep " " [ +          "nix build" +          "-I ${lib.escapeShellArg target.path}" +          "--no-link -f '<nixpkgs/nixos>'" +          "config.system.build.toplevel" +        ]) +      ]; +    }; +    rebuild = args: target:      exec "rebuild.${target.host}" rec {        filename = "${openssh}/bin/ssh"; @@ -24,6 +42,7 @@ in      writeDash name ''        set -efu        ${populate { inherit force source; target = target'; }} +      ${build target'}        ${rebuild ["switch"] target'}      ''; | 
