summary refs log tree commit diff
path: root/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh
blob: 0a6e8b920a1126d7fdf773532f7d8aaea4713c8b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#! @shell@ -e

# Shows the usage of this command to the user

showUsage()
{
    echo "Usage: $0 network_expr"
    echo "Options:"
    echo
    echo "--no-out-link   Do not create a 'result' symlink"
    echo "--show-trace    Shows the output trace"
    echo "-h,--help       Shows the usage of this command"
}

# 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 '<nixos/modules/installer/tools/nixos-build-vms/build-vms.nix>' \
    --argstr networkExpr $networkExpr $noOutLinkArg $showTraceArg