summaryrefslogtreecommitdiffstats
path: root/shell.nix
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2017-08-15 21:42:40 +0200
committertv <tv@krebsco.de>2017-08-15 23:13:31 +0200
commit28cc576852cf5acfc910c6b556edde6d15f40718 (patch)
tree065b3fecee098355222134487b0ea9d1ed28702c /shell.nix
parentf8762c3ce88ed3881cabcaa06c43da4a11cbf698 (diff)
shell: add --source= flag
Diffstat (limited to 'shell.nix')
-rw-r--r--shell.nix11
1 files changed, 9 insertions, 2 deletions
diff --git a/shell.nix b/shell.nix
index 196a53aa..6d32a6fc 100644
--- a/shell.nix
+++ b/shell.nix
@@ -9,6 +9,7 @@ let
# usage: deploy
# [--force-populate]
# [--quiet]
+ # [--source=PATH]
# --system=SYSTEM
# [--target=TARGET]
# [--user=USER]
@@ -20,6 +21,7 @@ let
\test -n "''${quiet-}" || quiet=false
\test -n "''${target-}" || target=$system
\test -n "''${user-}" || user=$LOGNAME
+ \test -n "''${source_file}" || source_file=$user/1systems/$system/source.nix
. ${init.env}
. ${init.proxy}
@@ -29,6 +31,7 @@ let
# usage: install
# [--force-populate]
# [--quiet]
+ # [--source=PATH]
# --system=SYSTEM
# --target=TARGET
# [--user=USER]
@@ -39,6 +42,7 @@ let
. ${init.args}
\test -n "''${quiet-}" || quiet=false
\test -n "''${user-}" || user=$LOGNAME
+ \test -n "''${source_file}" || source_file=$user/1systems/$system/source.nix
. ${init.env}
if \test "''${using_proxy-}" != true; then
@@ -76,6 +80,7 @@ let
# usage: test
# [--force-populate]
# [--quiet]
+ # [--source=PATH]
# --system=SYSTEM
# --target=TARGET
# [--user=USER]
@@ -88,6 +93,7 @@ let
. ${init.args}
\test -n "''${quiet-}" || quiet=false
\test -n "''${user-}" || user=$LOGNAME
+ \test -n "''${source_file}" || source_file=$user/1systems/$system/source.nix
. ${init.env}
. ${init.proxy}
@@ -160,14 +166,16 @@ let
init.args = pkgs.writeText "init.args" /* sh */ ''
args=$(${pkgs.utillinux}/bin/getopt -n "$command" -s sh \
-o Qs:t:u: \
- -l force-populate,quiet,system:,target:,user: \
+ -l force-populate,quiet,source:,system:,target:,user: \
-- "$@")
if \test $? != 0; then exit 1; fi
eval set -- "$args"
force_populate=false
+ source_file=
while :; do case $1 in
--force-populate) force_populate=true; shift;;
-Q|--quiet) quiet=true; shift;;
+ --source) source_file=$2; shift 2;;
-s|--system) system=$2; shift 2;;
-t|--target) target=$2; shift 2;;
-u|--user) user=$2; shift 2;;
@@ -196,7 +204,6 @@ let
init.proxy = pkgs.writeText "init.proxy" /* sh */ ''
if \test "''${using_proxy-}" != true; then
- source_file=$user/1systems/$system/source.nix
source=$(get-source "$source_file")
qualified_target=$target_user@$target_host:$target_port$target_path
if \test "$force_populate" = true; then