Skip to content

Commit

Permalink
fix(age): add support for managing authorized age keys with dotfiles-…
Browse files Browse the repository at this point in the history
…setup-age
  • Loading branch information
entelecheia committed May 27, 2023
1 parent ddd519f commit eabfc47
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions chezmoi/dot_local/bin/executable_dotfiles-setup-age.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ fi
# if age is not installed, skip
if command -v age-keygen &> /dev/null; then
AGE_KEY_FILE=${AGE_KEY_FILE:-"{{ .age.identity_file }}"}
AGE_PUB_KEY_FILE="${AGE_KEY_FILE}.pub"
AUTHORIZED_AGE_KEYS_FILE="${SSH_HOME}/{{ .age.authorized_age_keys }}"
if [ ! -e "${AGE_KEY_FILE}" ]; then
log_task "Generating age key"
Expand All @@ -35,6 +36,17 @@ if command -v age-keygen &> /dev/null; then
log_task "Adding age key to authorized_age_keys"
c echo "${AGE_RECIPIENT}" > "${AUTHORIZED_AGE_KEYS_FILE}"
fi
if [ -e "${AGE_PUB_KEY_FILE}" ]; then
if ! grep -q "${AGE_RECIPIENT}" "${AGE_PUB_KEY_FILE}"; then
log_task "Replacing age key in ${AGE_PUB_KEY_FILE}"
echo "${AGE_RECIPIENT}" > "${AGE_PUB_KEY_FILE}"
else
log_info "age key already in ${AGE_PUB_KEY_FILE}"
fi
else
log_task "Adding age key to ${AGE_PUB_KEY_FILE}"
c echo "${AGE_RECIPIENT}" > "${AGE_PUB_KEY_FILE}"
fi
fi
else
log_manual_action "Install age to generate age key"
Expand Down

0 comments on commit eabfc47

Please sign in to comment.