#!/bin/sh if [ $# -ne 1 ] && [ $# -ne 2 ]; then echo cat</dev/null 2>&1; then echo "'$i' not found in PATH. Exiting." >&2 exit 1 fi done } ## REVIEW: Only set extpass if no PTY is connected? if [ -z "$SUDO_ASKPASS" ] && command -v emacs-askpass >/dev/null 2>&1; then SUDO_ASKPASS=emacs-askpass fi mount() { check realpath encfs SOURCE="$(realpath "$1")" MOUNTPOINT="${SOURCE}_decrypted" mkdir -p "$MOUNTPOINT" if [ -z "$PASS" ]; then encfs --extpass="$SUDO_ASKPASS" "$SOURCE" "$MOUNTPOINT" || rmdir "$MOUNTPOINT" else echo "$PASS" | encfs --stdinpass "$SOURCE" "$MOUNTPOINT" || rmdir "$MOUNTPOINT" fi } unmount() { check findmnt fusermount dataindex while IFS= read -r i; do ## Generate index on exit. folder=$(basename $(dirname "$i")) mkdir -p "$PERSONAL"/index/"$folder" dataindex "$i" | gpg --encrypt --recipient mail@ambrevar.xyz \ --output - > "$PERSONAL"/index/"$folder"/"$(basename "$i")".index.gpg unset folder fusermount -u "$i" rmdir "$i" done <