#!@bash@/bin/bash # shellcheck shell=bash set -o errexit set -o nounset set -o pipefail MACHINE="" HOSTFWD="" while getopts 'p:o:h' opt; do case "$opt" in p) HOSTFWD=",hostfwd=tcp::$OPTARG$HOSTFWD" ;; o) MACHINE="$OPTARG" ;; h|?) echo "Usage: $(basename "$0") [-p hostport-:guestport] -o MACHINE" exit 1 ;; esac done shift "$((OPTIND -1))" if [ -z "$MACHINE" ]; then echo "-o option needed"; exit 1; fi DRV_PATH=$(@colmena@/bin/colmena eval --instantiate -E "{nodes, ...}: nodes.$MACHINE.config.system.build.vm") echo "Realising $DRV_PATH" RESULT=$(nix-store -r "$DRV_PATH") echo "Built $RESULT, launching VM ..." "$RESULT/bin/run-$MACHINE-vm" -device e1000,netdev=net0 -netdev "user,id=net0$HOSTFWD"