From 0b0adf152e94df7dff508462b4e50500e3c6ad6a Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Mon, 20 Nov 2023 06:04:40 +0100 Subject: Automatically mount signal/element/wire when started MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- element-desktop/mount-element | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 element-desktop/mount-element (limited to 'element-desktop/mount-element') diff --git a/element-desktop/mount-element b/element-desktop/mount-element new file mode 100755 index 0000000..1d3c03c --- /dev/null +++ b/element-desktop/mount-element @@ -0,0 +1,22 @@ +#!/bin/dash + +if mountpoint -q -- "${HOME}/.var/opt/element/ElementCrypt.d"; then + printf '%s\n' 'mount-element: already mounted' >&2 +elif test -e /dev/mapper/ElementCrypt; then + asroot env ELEMENT_DIR="${HOME}/.var/opt/element" sh -ec \ + 'mount -- /dev/mapper/ElementCrypt "${ELEMENT_DIR}/ElementCrypt.d"' +else + gpg --decrypt -- "${HOME}/.var/opt/element/ElementCrypt.key" | \ + key2root -k ElementCrypt env \ + ELEMENT_IMG="${HOME}/.var/opt/element/ElementCrypt.img" \ + ELEMENT_DIR="${HOME}/.var/opt/element" \ + ELEMENT_DEV="$(losetup | sed 's/\s\+/ /g' | cut -d ' ' -f 1,6 | \ + sed -n 's#\(/[^ ]*\) '"$(realpath -- "${HOME}/.var/opt/element/ElementCrypt.img")"'$#\1#p' | sed 1q)" \ + sh -ec ' + if test -z "${ELEMENT_DEV}"; then + ELEMENT_DEV="$(losetup --show -f -P -- "${ELEMENT_IMG}")" + fi + cryptsetup -d - -- open "${ELEMENT_DEV}" ElementCrypt + mount -- /dev/mapper/ElementCrypt "${ELEMENT_DIR}/ElementCrypt.d" + ' +fi -- cgit v1.2.3-70-g09d2