{ writeShellApplication, coreutils, firecracker, jq, pigeon-vmconfig }: writeShellApplication { name = "pigeon-vm"; runtimeInputs = [ coreutils firecracker jq ]; text = '' [ "$#" -ne 3 ] && exit 1 CONFIG="$(mktemp)" trap 'rm -rf "$CONFIG"' EXIT jq --arg s "$1" --arg g "$2" --arg r "$3" ' (.drives[] | select(.drive_id == "student").path_on_host) = $s | (.drives[] | select(.drive_id == "grader").path_on_host) = $g | (.drives[] | select(.drive_id == "results").path_on_host) = $r ' ${pigeon-vmconfig} >"$CONFIG" firecracker --no-api --config-file "$CONFIG" ''; }