diff options
author | Mattias Andrée <maandree@kth.se> | 2023-11-20 06:04:40 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2023-11-20 06:04:48 +0100 |
commit | 0b0adf152e94df7dff508462b4e50500e3c6ad6a (patch) | |
tree | ddbe3c4ebd4ae72c2d39b38e0782f435f5716dae /signal-desktop/mount-signal | |
parent | m (diff) | |
download | dotfiles-0b0adf152e94df7dff508462b4e50500e3c6ad6a.tar.gz dotfiles-0b0adf152e94df7dff508462b4e50500e3c6ad6a.tar.bz2 dotfiles-0b0adf152e94df7dff508462b4e50500e3c6ad6a.tar.xz |
Automatically mount signal/element/wire when started
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
-rwxr-xr-x | signal-desktop/mount-signal | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/signal-desktop/mount-signal b/signal-desktop/mount-signal new file mode 100755 index 0000000..6754d0f --- /dev/null +++ b/signal-desktop/mount-signal @@ -0,0 +1,22 @@ +#!/bin/dash + +if mountpoint -q -- "${HOME}/.var/opt/signal/SignalCrypt.d"; then + printf '%s\n' 'mount-signal: already mounted' >&2 +elif test -e /dev/mapper/SignalCrypt; then + asroot env SIGNAL_DIR="${HOME}/.var/opt/signal" sh -ec \ + 'mount -- /dev/mapper/SignalCrypt "${SIGNAL_DIR}/SignalCrypt.d"' +else + gpg --decrypt -- "${HOME}/.var/opt/signal/SignalCrypt.key" | \ + key2root -k SignalCrypt env \ + SIGNAL_IMG="${HOME}/.var/opt/signal/SignalCrypt.img" \ + SIGNAL_DIR="${HOME}/.var/opt/signal" \ + SIGNAL_DEV="$(losetup | sed 's/\s\+/ /g' | cut -d ' ' -f 1,6 | \ + sed -n 's#\(/[^ ]*\) '"$(realpath -- "${HOME}/.var/opt/signal/SignalCrypt.img")"'$#\1#p' | sed 1q)" \ + sh -ec ' + if test -z "${SIGNAL_DEV}"; then + SIGNAL_DEV="$(losetup --show -f -P "${SIGNAL_IMG}")" + fi + cryptsetup -d - -- open "${SIGNAL_DEV}" SignalCrypt + mount -- /dev/mapper/SignalCrypt "${SIGNAL_DIR}/SignalCrypt.d" + ' +fi |