From b9894903332a985cdeab1d6a925be392679c7761 Mon Sep 17 00:00:00 2001 From: erik Date: Mon, 13 Jul 2026 20:44:38 +0200 Subject: [PATCH] fix(deploy flash): validate device before building the image --- scripts/deploy | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/deploy b/scripts/deploy index 61eed07..e722692 100755 --- a/scripts/deploy +++ b/scripts/deploy @@ -97,6 +97,11 @@ case "$cmd" in image|flash) config="${2:-}"; [ -n "$config" ] || die "usage: ./deploy $cmd []" + # Validate the device BEFORE building, so a bad `flash` fails fast. + if [ "$cmd" = flash ]; then + dev="${3:-}"; [ -n "$dev" ] || die "usage: ./deploy flash (e.g. /dev/sdX)" + [ -b "$dev" ] || die "$dev is not a block device" + fi echo ">> building SD image for .#$config (aarch64 needs qemu binfmt)" nix build ".#nixosConfigurations.$config.config.system.build.sdImage" -o result-sd @@ -104,8 +109,6 @@ case "$cmd" in echo ">> image: $img" [ "$cmd" = image ] && exit 0 - dev="${3:-}"; [ -n "$dev" ] || die "usage: ./deploy flash (e.g. /dev/sdX)" - [ -b "$dev" ] || die "$dev is not a block device" echo ">> TARGET DEVICE — everything on it will be ERASED:" lsblk -o NAME,SIZE,MODEL,TRAN,MOUNTPOINTS "$dev" read -rp ">> type 'yes' to write $config to $dev: " ok