summaryrefslogtreecommitdiff
path: root/.local/bin/dmenu/mount-device
blob: e325a650f805c67dd32c0d1dc33afefc838b605a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh
# Script for mounting block devices

# Set askpass program for authentication
export SUDO_ASKPASS=/usr/bin/ssh-askpass

# Check for and get device to mount from user
devs="$(lsblk -lp | grep "part $" | awk '{print $1,"-",$4}')"
[ "$devs" = "" ] && exit 0
dev="$(echo $devs | dmenu -i -p "Select device" | cut -d ' ' -f 1)"
[ "$dev" = "" ] && exit 0

# Attempt to mount without mountpoint for devices in /etc/fstab
sudo -A mount "$dev" 2>/dev/null && exit 0

# Get mountpoint from user
mntpnt="$(find /mnt -maxdepth 3 -type d 2>/dev/null | dmenu -i -p "Select mountpoint")"
[ "$mntpnt" = "" ] && exit 1

# If selected mountpoint does not exist ask to create it
# If user decides not to create non-existent drive, exit
[ ! -d $mntpnt ] && create="$(echo "No\nYes" | \
		dmenu -i -p "$mntpnt does not exist, would you like to create it?")" && \
		([ "$create" = "Yes" ] && sudo -A mkdir -p $mntpnt || exit 0)

sudo -A mount $dev $mntpnt && pgrep -x dunst && notify-send "$dev mounted to $mntpnt"