diff options
author | zimbatm <zimbatm@zimbatm.com> | 2018-10-09 23:10:45 +0200 |
---|---|---|
committer | zimbatm <zimbatm@zimbatm.com> | 2018-10-16 11:12:36 +0200 |
commit | 187534454271910dcc023a9b0a0c27e9e79ecade (patch) | |
tree | f85579c48fa87348bb6b344d24132219f102b682 /pkgs/tools/nixos/nixos-build-vms/nixos-build-vms.sh | |
parent | b7a07313cc72219964b93e47c36fffeed314a351 (diff) | |
download | nixlib-187534454271910dcc023a9b0a0c27e9e79ecade.tar nixlib-187534454271910dcc023a9b0a0c27e9e79ecade.tar.gz nixlib-187534454271910dcc023a9b0a0c27e9e79ecade.tar.bz2 nixlib-187534454271910dcc023a9b0a0c27e9e79ecade.tar.lz nixlib-187534454271910dcc023a9b0a0c27e9e79ecade.tar.xz nixlib-187534454271910dcc023a9b0a0c27e9e79ecade.tar.zst nixlib-187534454271910dcc023a9b0a0c27e9e79ecade.zip |
nixos-*: init as package
Move all the nixos-* scripts from the nixos distribution as real packages in the pkgs/ package set. This allows non-nixos users to run the script as well. For example, deploying a remote machine with: nixos-rebuild --target-host root@hostname --build-host root@hostname
Diffstat (limited to 'pkgs/tools/nixos/nixos-build-vms/nixos-build-vms.sh')
-rw-r--r-- | pkgs/tools/nixos/nixos-build-vms/nixos-build-vms.sh | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/pkgs/tools/nixos/nixos-build-vms/nixos-build-vms.sh b/pkgs/tools/nixos/nixos-build-vms/nixos-build-vms.sh new file mode 100644 index 000000000000..237a807609a0 --- /dev/null +++ b/pkgs/tools/nixos/nixos-build-vms/nixos-build-vms.sh @@ -0,0 +1,57 @@ +#! @shell@ -e + +# Shows the usage of this command to the user + +showUsage() { + exec man nixos-build-vms + exit 1 +} + +# Parse valid argument options + +PARAMS=`getopt -n $0 -o h -l no-out-link,show-trace,help -- "$@"` + +if [ $? != 0 ] +then + showUsage + exit 1 +fi + +eval set -- "$PARAMS" + +# Evaluate valid options + +while [ "$1" != "--" ] +do + case "$1" in + --no-out-link) + noOutLinkArg="--no-out-link" + ;; + --show-trace) + showTraceArg="--show-trace" + ;; + -h|--help) + showUsage + exit 0 + ;; + esac + + shift +done + +shift + +# Validate the given options + +if [ "$1" = "" ] +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 |