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 /wire-desktop/mount-wire | |
| 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 | wire-desktop/mount-wire | 22 | 
1 files changed, 22 insertions, 0 deletions
| diff --git a/wire-desktop/mount-wire b/wire-desktop/mount-wire new file mode 100755 index 0000000..a6dde57 --- /dev/null +++ b/wire-desktop/mount-wire @@ -0,0 +1,22 @@ +#!/bin/dash + +if mountpoint -q -- "${HOME}/.var/opt/wire/WireCrypt.d"; then +	printf '%s\n' 'mount-wire: already mounted' >&2 +elif test -e /dev/mapper/WireCrypt; then +	asroot env WIRE_DIR="${HOME}/.var/opt/wire" sh -ec \ +		'mount -- /dev/mapper/WireCrypt "${WIRE_DIR}/WireCrypt.d"' +else +	gpg --decrypt -- "${HOME}/.var/opt/wire/WireCrypt.key" | \ +	key2root -k WireCrypt env \ +		WIRE_IMG="${HOME}/.var/opt/wire/WireCrypt.img" \ +		WIRE_DIR="${HOME}/.var/opt/wire" \ +		WIRE_DEV="$(losetup | sed 's/\s\+/ /g' | cut -d ' ' -f 1,6 | \ +		              sed -n 's#\(/[^ ]*\) '"$(realpath -- "${HOME}/.var/opt/wire/WireCrypt.img")"'$#\1#p' | sed 1q)" \ +		sh -ec ' +			if test -z "${WIRE_DEV}"; then +				WIRE_DEV="$(losetup --show -f -P -- "${WIRE_IMG}")" +			fi +			cryptsetup -d - -- open "${WIRE_DEV}" WireCrypt +			mount -- /dev/mapper/WireCrypt "${WIRE_DIR}/WireCrypt.d" +		' +fi | 
