#!/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