summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2017-10-17 20:17:27 +0200
committertv <tv@krebsco.de>2017-10-17 20:17:27 +0200
commit19839ff2d8c3c4278a19b343bd0b18fe9a5e0388 (patch)
treee39ed8cf200ab39182e9e01a1c0824ae196f3df1
parent27d37b22995c469048e2ae4dc8ff46f49b3542d7 (diff)
shell: proxy call original cmdline remotely
-rw-r--r--shell.nix11
1 files changed, 6 insertions, 5 deletions
diff --git a/shell.nix b/shell.nix
index 6448c1586..53b0f964a 100644
--- a/shell.nix
+++ b/shell.nix
@@ -20,7 +20,7 @@ let
set -efu
. ${init.env}
- . ${init.proxy opts}
+ . ${init.proxy "deploy" opts}
# Use system's nixos-rebuild, which is not self-contained
export PATH=/run/current-system/sw/bin
@@ -55,7 +55,7 @@ let
# TODO inline prepare.sh?
fi
- . ${init.proxy opts}
+ . ${init.proxy "install" opts}
# Reset PATH because we need access to nixos-install.
# TODO provide nixos-install instead of relying on prepare.sh
@@ -93,7 +93,7 @@ let
export dummy_secrets=true
. ${init.env}
- . ${init.proxy opts}
+ . ${init.proxy "test" opts}
exec ${utils.build} config.system.build.toplevel
'');
@@ -159,7 +159,7 @@ let
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
source=$(get-source "$source_file")
@@ -182,7 +182,8 @@ let
opts
)} \
using_proxy=true \
- $(quote "$0" "$@")
+ ${lib.shell.escape command} \
+ $WITHGETOPT_ORIG_ARGS \
")"
fi
fi