shell: proxy call original cmdline remotely

This commit is contained in:
tv 2017-10-17 20:17:27 +02:00
parent 27d37b2299
commit 19839ff2d8

View File

@ -20,7 +20,7 @@ let
set -efu set -efu
. ${init.env} . ${init.env}
. ${init.proxy opts} . ${init.proxy "deploy" opts}
# Use system's nixos-rebuild, which is not self-contained # Use system's nixos-rebuild, which is not self-contained
export PATH=/run/current-system/sw/bin export PATH=/run/current-system/sw/bin
@ -55,7 +55,7 @@ let
# TODO inline prepare.sh? # TODO inline prepare.sh?
fi fi
. ${init.proxy opts} . ${init.proxy "install" opts}
# Reset PATH because we need access to nixos-install. # Reset PATH because we need access to nixos-install.
# TODO provide nixos-install instead of relying on prepare.sh # TODO provide nixos-install instead of relying on prepare.sh
@ -93,7 +93,7 @@ let
export dummy_secrets=true export dummy_secrets=true
. ${init.env} . ${init.env}
. ${init.proxy opts} . ${init.proxy "test" opts}
exec ${utils.build} config.system.build.toplevel exec ${utils.build} config.system.build.toplevel
''); '');
@ -159,7 +159,7 @@ let
export target_local="$(echo $target_object | ${pkgs.jq}/bin/jq -r .local)" export target_local="$(echo $target_object | ${pkgs.jq}/bin/jq -r .local)"
''; '';
init.proxy = opts: pkgs.writeText "init.proxy" /* sh */ '' init.proxy = command: opts: pkgs.writeText "init.proxy" /* sh */ ''
if \test "''${using_proxy-}" != true; then if \test "''${using_proxy-}" != true; then
source=$(get-source "$source_file") source=$(get-source "$source_file")
@ -182,7 +182,8 @@ let
opts opts
)} \ )} \
using_proxy=true \ using_proxy=true \
$(quote "$0" "$@") ${lib.shell.escape command} \
$WITHGETOPT_ORIG_ARGS \
")" ")"
fi fi
fi fi