summaryrefslogtreecommitdiff
path: root/ar/.local/bin/setfirmware
blob: fc9d0b7ca9453ecb2b149e666c79eaa5d2418e78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/sh

lsblk
drive=$(lsblk | grep -E '3[0-9].*M' | cut -d' ' -f1)
drive="/dev/$drive"
printf "\n%s\n" "Target drive: $drive"
firmwarepath="${XDG_DOTFILES_DIR:-${HOME}/.dotfiles}/$(whereami)/.config/glove80"
newfirmware="$(find "${XDG_DOWNLOAD_DIR:-${HOME}/Downloads}" -type f -iname '*.uf2')"
cp "$newfirmware" "$firmwarepath/"
firmware="$(find "$firmwarepath" -type f -iname '*.uf2' | fzf --prompt "Choose a firmware: ")"
mp="/media/$USER/firmware"
[ -d "$mp" ] || mkdir -p "$mp"
sudo -A mount "$drive" "$mp"
sudo -A cp "$firmware" "$mp/"
[ -f "$firmware" ] || exit 1
ls -la "$mp"
sudo -A umount "$mp"
[ -e "$mp" ] && [ ! -s "$mp" ] && sudo -A rm -rf "$mp" || exit 1
echo "Done!"