summaryrefslogtreecommitdiff
path: root/mac/.local/bin/setfirmware
diff options
context:
space:
mode:
Diffstat (limited to 'mac/.local/bin/setfirmware')
-rwxr-xr-xmac/.local/bin/setfirmware22
1 files changed, 22 insertions, 0 deletions
diff --git a/mac/.local/bin/setfirmware b/mac/.local/bin/setfirmware
new file mode 100755
index 0000000..326d14b
--- /dev/null
+++ b/mac/.local/bin/setfirmware
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+drives=$(lsblk -n -r -o NAME,SIZE,MOUNTPOINT | grep -E --color=always '3[0-9].*M')
+drive=$(echo "$drives" | awk '{print $1}' | head -n1)
+[ -z "$drive" ] && exit
+echo "$drives"
+drive="/dev/$drive"
+printf "\n%s\n" "Target drive: $drive"
+firmwarepath="${XDG_DOTFILES_DIR:-${HOME}/.dotfiles}/$(whereami)/.config/glove80"
+firmware="$(find "$firmwarepath" "${XDG_DOWNLOAD_DIR:-${HOME}/Downloads}" -type f -iname '*.uf2' -printf '%T@ %p\n' | sort -n | cut -d' ' -f2- | fzf --prompt "Choose a firmware: ")"
+[ -f "$firmware" ] || exit
+[ -f "$firmwarepath/$(basename "$firmware")" ] || mv "$firmware" "$firmwarepath/"
+mp="/media/$USER/firmware"
+[ -d "$mp" ] || mkdir -p "$mp"
+sudo -A mount "$drive" "$mp"
+sudo -A cp "$firmwarepath/$(basename "$firmware")" "$mp/"
+[ -f "$firmwarepath/$(basename "$firmware")" ] || exit 1
+ls -la "$mp"
+[ -f "$mp/$(basename "$firmware")" ] || exit 1
+sudo -A umount "$mp"
+[ -e "$mp" ] && [ ! -s "$mp" ] && sudo -A rm -rf "$mp" || exit 1
+echo "Done!"