sops: Ensure BW_SESSION and SOPS_AGE_KEY are only fetched if not already defined

This commit is contained in:
SebastianStork 2025-12-25 23:28:22 +01:00
parent e3479f2070
commit 312036e7a7
Signed by: SebastianStork
SSH key fingerprint: SHA256:iEM011ogNMG1q8+U500adGu/9rpPuZ2KnFtbdLeqTiI
2 changed files with 14 additions and 7 deletions

View file

@ -37,10 +37,14 @@ _: {
echo "$new_age_key" > "hosts/$host/keys/age.pub" echo "$new_age_key" > "hosts/$host/keys/age.pub"
echo "==> Updating SOPS secrets..." echo "==> Updating SOPS secrets..."
BW_SESSION="$(bw unlock --raw || bw login --raw)" if ! declare -px BW_SESSION >/dev/null 2>&1; then
export BW_SESSION BW_SESSION="$(bw unlock --raw || bw login --raw)"
SOPS_AGE_KEY="$(bw get notes 'admin age-key')" export BW_SESSION
export SOPS_AGE_KEY fi
if ! declare -px SOPS_AGE_KEY >/dev/null 2>&1; then
SOPS_AGE_KEY="$(bw get notes 'admin age-key')"
export SOPS_AGE_KEY
fi
SOPS_CONFIG="$(nix build .#sops-config --print-out-paths)" SOPS_CONFIG="$(nix build .#sops-config --print-out-paths)"
export SOPS_CONFIG export SOPS_CONFIG
sops updatekeys --yes "hosts/$host/secrets.json" sops updatekeys --yes "hosts/$host/secrets.json"

View file

@ -49,11 +49,14 @@
nativeBuildInputs = [ pkgs.bitwarden-cli ]; nativeBuildInputs = [ pkgs.bitwarden-cli ];
shellHook = '' shellHook = ''
if BW_SESSION="$(bw unlock --raw || bw login --raw)"; then if ! declare -px BW_SESSION >/dev/null 2>&1; then
BW_SESSION="$(bw unlock --raw || bw login --raw)"
export BW_SESSION export BW_SESSION
fi fi
SOPS_AGE_KEY="$(bw get notes 'admin age-key')" if ! declare -px SOPS_AGE_KEY >/dev/null 2>&1; then
export SOPS_AGE_KEY SOPS_AGE_KEY="$(bw get notes 'admin age-key')"
export SOPS_AGE_KEY
fi
SOPS_CONFIG="${self'.packages.sops-config}" SOPS_CONFIG="${self'.packages.sops-config}"
export SOPS_CONFIG export SOPS_CONFIG
''; '';