@@ -287,19 +287,21 @@ Deploy one or more nodes.
287287
288288Options:
289289 -p, --parallel <num> number of nodes to deploy in parallel (default: 10)
290+ -n, --dry-run use {nixos,darwin}-rebuild build
291+ --ephemeral use nixos-rebuild test
290292 --reboot deploy with nixos-rebuild boot, then reboot
291293 -h, --help show this help
292294EOF
293295}
294296cmd_node_deploy () {
295297 local args
296- args=$( getopt -n nixverse -o ' hp :' --long ' help,parallel:,no-activate,no-boot ,reboot' -- " $@ " )
298+ args=$( getopt -n nixverse -o ' hnp :' --long ' help,dry-run, parallel:,ephemeral ,reboot' -- " $@ " )
297299 eval set -- " $args "
298300 unset args
299301
300302 local parallel=$default_parallel
301- local activate=true
302- local boot=true
303+ local dryRun=false
304+ local ephemeral=false
303305 local reboot=false
304306 while true ; do
305307 case $1 in
@@ -311,12 +313,12 @@ cmd_node_deploy() {
311313 fi
312314 shift 2
313315 ;;
314- --no-activate )
315- activate=false
316+ -n | --dry-run )
317+ dryRun=true
316318 shift
317319 ;;
318- --no-boot )
319- boot=false
320+ --ephemeral )
321+ ephemeral=true
320322 shift
321323 ;;
322324 --reboot)
@@ -338,6 +340,21 @@ cmd_node_deploy() {
338340 esac
339341 done
340342
343+ local deployModes=0
344+ if [[ $dryRun = true ]]; then
345+ deployModes=$(( deployModes + 1 ))
346+ fi
347+ if [[ $ephemeral = true ]]; then
348+ deployModes=$(( deployModes + 1 ))
349+ fi
350+ if [[ $reboot = true ]]; then
351+ deployModes=$(( deployModes + 1 ))
352+ fi
353+ if (( deployModes > 1 )) ; then
354+ echo >&2 " --dry-run, --ephemeral, and --reboot are mutually exclusive"
355+ return 1
356+ fi
357+
341358 if [[ $# = 0 ]]; then
342359 cmd help node deploy >&2
343360 return 1
380397 inherit nodeNames;
381398 userFlakeSourcePath = "$flake ";
382399 nixversePath = "@out@";
383- activate = $activate ;
384- boot = $boot ;
400+ dryRun = $dryRun ;
401+ ephemeral = $ephemeral ;
385402 reboot = $reboot ;
386403 }
387404 );
0 commit comments