Files
dotfiles/run_onchange_before_20-setup-age-key.sh
T
2026-04-02 04:48:20 +03:00

37 lines
664 B
Bash
Executable File

#!/bin/bash
set -euo pipefail
KEY_DIR="$HOME/.config/chezmoi"
KEY_FILE="$KEY_DIR/key.txt"
mkdir -p "$KEY_DIR"
chmod 700 "$KEY_DIR"
VW_URL="https://vault.benq-serv.top"
bw config server "$VW_URL" >/dev/null
STATUS=$(bw status 2>/dev/null | jq -r '.status')
case "$STATUS" in
"locked")
export BW_SESSION=$(bw unlock --raw)
;;
"unauthenticated")
export BW_SESSION=$(bw login --raw)
;;
*)
echo "Unknown bw status: $STATUS"
exit 1
;;
esac
bw sync
bw get item "age-keys" \
| jq -r '.fields[] | select(.name == "private_key") | .value' \
> "$KEY_FILE"
if [[ -s "$KEY_FILE" ]]; then
chmod 600 "$KEY_FILE"
else
exit 1
fi