#!/usr/bin/env bash set -euo pipefail REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" DEST="${VAULT_PASS_FILE:-$HOME/.config/vault-pass.txt}" ARCHIVE="${1:-$REPO_DIR/secrets/vault-pass.txt.zip}" usage() { cat <&2 </dev/null 2>&1; then echo "Missing dependency: unzip" >&2 echo "Install it with: sudo apt install -y unzip" >&2 exit 3 fi tmpdir="$(mktemp -d)" cleanup() { rm -rf "$tmpdir"; } trap cleanup EXIT umask 077 mkdir -p "$(dirname "$DEST")" chmod 700 "$(dirname "$DEST")" || true # unzip will prompt for the archive password interactively. unzip -q "$ARCHIVE" -d "$tmpdir" src="$tmpdir/vault-pass.txt" if [ ! -f "$src" ]; then echo "Archive extracted, but vault-pass.txt was not found inside." >&2 exit 4 fi install -m 600 "$src" "$DEST" echo "Installed vault password file: $DEST"