#!/bin/sh -e
devname="exthdd"
mountpoint="$HOME/$devname"
case "$(hostname -s)" in
mother|po-rbo)
dev=$(find /dev/sd* -type b -exec bash -c 'doas cryptsetup isLuks {} && echo {}' \; | head -n1)
if [ -z "$dev" ]; then
notify-send -u critical 'exthdd' ' crypt dev not detected'
exit 1
fi
if ! doas cryptsetup open "$dev" "$devname"; then
notify-send -u critical 'exthdd' " failed to uncrypt dev $dev"
exit 1
fi
mkdir -p "$mountpoint"
if ! doas mount /dev/mapper/"$devname" "$mountpoint"; then
notify-send -u critical 'exthdd' " failed to mount dev $dev"
exit 1
fi
notify-send -t 5000 'exthdd' " crypt dev mounted to $mountpoint"
;;
mars)
if ! diskinfo da0 >/dev/null; then
notify-send -u critical 'fathdd' ' HDD not detected'
exit 1
fi
if mount | grep -F /dev/da0p1; then
notify-send -u critical \
'fathdd' \
" HDD already mounted to \
$(mount | grep -F '/dev/da0p1' | awk '{print $3}')"
exit 1
fi
if ! dmenu -m 0 -p 'Enter password: ' -P |
geli attach -k /root/geli_keys/fathdd_ext.key -j - da0p1; then
notify-send -u critical 'fathdd' ' Failed to mount HDD'
exit 1
fi
mkdir -p "$HOME"/hdd
mount /dev/da0p1.eli "$HOME"/hdd
notify-send -t 5000 'fathdd' ' HDD mounted to ~/hdd'
;;
esac