# Write iso file to sd card iso2sd() { if (( $# < 1 )); then echo "Usage: iso2sd [output_device]" echo "Example: iso2sd ~/Downloads/ubuntu-25.04-desktop-amd64.iso /dev/sda" return 1 fi local iso="$1" local drive="$2" if [[ -z $drive ]]; then local available_sds=$(lsblk -dpno NAME | grep -E '/dev/sd') if [[ -z $available_sds ]]; then echo "No SD drives found and no drive specified" return 1 fi drive=$(nomarchy-drive-select "$available_sds") if [[ -z $drive ]]; then echo "No drive selected" return 1 fi fi sudo dd bs=4M status=progress oflag=sync if="$iso" of="$drive" sudo eject "$drive" } # Format an entire drive for a single partition using exFAT format-drive() { if (( $# != 2 )); then echo "Usage: format-drive " echo "Example: format-drive /dev/sda 'My Stuff'" echo -e "\nAvailable drives:" lsblk -d -o NAME -n | awk '{print "/dev/"$1}' else echo "WARNING: This will completely erase all data on $1 and label it '$2'." read -rp "Are you sure you want to continue? (y/N): " confirm if [[ $confirm =~ ^[Yy]$ ]]; then sudo wipefs -a "$1" sudo dd if=/dev/zero of="$1" bs=1M count=100 status=progress sudo parted -s "$1" mklabel gpt sudo parted -s "$1" mkpart primary 1MiB 100% sudo parted -s "$1" set 1 msftdata on partition="$([[ $1 == *"nvme"* ]] && echo "${1}p1" || echo "${1}1")" sudo partprobe "$1" || true sudo udevadm settle || true sudo mkfs.exfat -n "$2" "$partition" echo "Drive $1 formatted as exFAT and labeled '$2'." fi fi }