aboutsummaryrefslogtreecommitdiff
path: root/nixos/modules/installer
diff options
context:
space:
mode:
authorDanylo Hlynskyi <abcz2.uprola@gmail.com>2019-04-14 02:57:57 +0300
committerGitHub <noreply@github.com>2019-04-14 02:57:57 +0300
commiteddb31be9901ce3d959e9e42c263e196dc0e89e1 (patch)
tree4d6f090d13ff3680db25c7b4891b59749db14157 /nixos/modules/installer
parentaa111a2b7efeb2a75a24101e1e51b5b615a6f0db (diff)
parente998f5140fab0d7977d5a26124d0d2ec64020cde (diff)
Merge pull request #55121 from Ma27/add-option-support-to-nixos-build-vms
nixos-build-vms: pass `--option` to `nix-build`
Diffstat (limited to 'nixos/modules/installer')
-rw-r--r--nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh61
1 files changed, 28 insertions, 33 deletions
diff --git a/nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh b/nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh
index 4e981c074a5..25106733087 100644
--- a/nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh
+++ b/nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh
@@ -9,49 +9,44 @@ showUsage() {
# Parse valid argument options
-PARAMS=`getopt -n $0 -o h -l no-out-link,show-trace,help -- "$@"`
+nixBuildArgs=()
+networkExpr=
-if [ $? != 0 ]
-then
- showUsage
- exit 1
-fi
-
-eval set -- "$PARAMS"
-
-# Evaluate valid options
-
-while [ "$1" != "--" ]
-do
+while [ $# -gt 0 ]; do
case "$1" in
- --no-out-link)
- noOutLinkArg="--no-out-link"
- ;;
- --show-trace)
- showTraceArg="--show-trace"
- ;;
- -h|--help)
- showUsage
- exit 0
- ;;
+ --no-out-link)
+ nixBuildArgs+=("--no-out-link")
+ ;;
+ --show-trace)
+ nixBuildArgs+=("--show-trace")
+ ;;
+ -h|--help)
+ showUsage
+ exit 0
+ ;;
+ --option)
+ shift
+ nixBuildArgs+=("--option" "$1" "$2"); shift
+ ;;
+ *)
+ if [ ! -z "$networkExpr" ]; then
+ echo "Network expression already set!"
+ showUsage
+ exit 1
+ fi
+ networkExpr="$(readlink -f $1)"
+ ;;
esac
-
+
shift
done
-shift
-
-# Validate the given options
-
-if [ "$1" = "" ]
+if [ -z "$networkExpr" ]
then
echo "ERROR: A network expression must be specified!" >&2
exit 1
-else
- networkExpr=$(readlink -f $1)
fi
# Build a network of VMs
-
nix-build '<nixpkgs/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix>' \
- --argstr networkExpr $networkExpr $noOutLinkArg $showTraceArg
+ --argstr networkExpr $networkExpr "${nixBuildArgs[@]}"