diff options
Diffstat (limited to 'element-desktop')
-rw-r--r-- | element-desktop/Makefile | 19 | ||||
-rw-r--r-- | element-desktop/bash-aliases | 18 |
2 files changed, 37 insertions, 0 deletions
diff --git a/element-desktop/Makefile b/element-desktop/Makefile new file mode 100644 index 0000000..60aeb57 --- /dev/null +++ b/element-desktop/Makefile @@ -0,0 +1,19 @@ +.POSIX: + +install: + test -f ~/.var/element/ElementCrypt.img + test -f ~/.var/element/ElementCrypt.key + mkdir -p -- ~/.var/element/ElementCrypt.d + test -e ~/.config/Element || ln -s -- ../.var/element/ElementCrypt.d/Element ~/.config/Element + pacman -Qq -- asroot </dev/null >/dev/null + pacman -Qq -- gnupg </dev/null >/dev/null + pacman -Qq -- cryptsetup </dev/null >/dev/null + mkdir -p -- ~/.config/bash/aliases.d + test ! -d ~/.config/bash/aliases.d/element-desktop + ln -sf -- ~/.dotfiles/element-desktop/bash-aliases ~/.config/bash/aliases.d/element-desktop + +uninstall: + -unlink -- ~/.config/bash/aliases.d/element-desktop + -rmdir -- ~/.config/bash/aliases.d + +.PHONY: install uninstall diff --git a/element-desktop/bash-aliases b/element-desktop/bash-aliases new file mode 100644 index 0000000..b58dfbd --- /dev/null +++ b/element-desktop/bash-aliases @@ -0,0 +1,18 @@ +# -*- shell-script -*- + +mount-element () { + asroot env XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR}" ELEMENT_DIR=~/.var/element sh -ec ' + device="$(losetup --show -f -P "${ELEMENT_DIR}/ElementCrypt.img")" + printf "%s\n" "${device}" > "${XDG_RUNTIME_DIR}/ElementCrypt" + gpg --decrypt "${ELEMENT_DIR}/ElementCrypt.key" | cryptsetup -d - open "${device}" ElementCrypt + mount /dev/mapper/ElementCrypt "${ELEMENT_DIR}/ElementCrypt.d" + ' +} + +umount-element () { + asroot env XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR}" ELEMENT_DIR=~/.var/element sh -c ' + umount "${ELEMENT_DIR}/ElementCrypt.d" + cryptsetup close ElementCrypt + losetup --detach "$(cat -- "${XDG_RUNTIME_DIR}/ElementCrypt")" + ' +} |