Files
dotfiles/.chezmoiscripts/run_onchange_before_10-setup-age-key.sh.tmpl
T
2026-04-21 02:35:50 +03:00

41 lines
725 B
Cheetah
Executable File

#!/bin/bash
{{ if -eq .chezmoi.osRelease.id "nixos" }}
exit 0
{{ end }}
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