From 9677846bf5770f17dcc87a3fa9855343dc9248ca Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 10 Jul 2018 10:15:39 +0200 Subject: krops: add writePopulate --- pkgs/krops/default.nix | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'pkgs/krops/default.nix') diff --git a/pkgs/krops/default.nix b/pkgs/krops/default.nix index fc52327..496b8d3 100644 --- a/pkgs/krops/default.nix +++ b/pkgs/krops/default.nix @@ -8,34 +8,42 @@ let }; in -{ nix, openssh, populate, writeDash, writeJSON }: { +{ nix, openssh, populate, writeDash, writeJSON }: let + + populate' = name: { source, target }: + writeDash "${name}-populate" '' + set -efu + source=${writeJSON "${name}-source.json" source} + target=${target.user}@${target.host}:${target.port}${target.path} + exec ${populate}/bin/populate "$target" < "$source" + ''; + +in { writeDeploy = name: { source, target }: let target' = lib.mkTarget target; in writeDash name '' set -efu - - ${populate}/bin/populate \ - ${target'.user}@${target'.host}:${target'.port}${target'.path} \ - < ${writeJSON "${name}-source.json" source} - + ${populate' name { inherit source; target = target'; }} ${openssh}/bin/ssh \ ${target'.user}@${target'.host} -p ${target'.port} \ nixos-rebuild switch -I ${target'.path} ''; + writePopulate = name: { source, target }: + populate' name { + inherit source; + target = lib.mkTarget target; + }; + writeTest = name: { source, target }: let target' = lib.mkTarget target; in assert lib.isLocalTarget target'; writeDash name '' set -efu - - ${populate}/bin/populate --force \ - ${target'.path} \ - < ${writeJSON "${name}-source.json" source} - + ${populate' name { inherit source; target = target'; }} ${nix}/bin/nix-build \ -A config.system.build.toplevel \ -I ${target'.path} \ -- cgit v1.2.3