diff --git a/pkgs/clerie-sops/clerie-sops-edit.sh b/pkgs/clerie-sops/clerie-sops-edit.sh index 220660a..a1bdb52 100755 --- a/pkgs/clerie-sops/clerie-sops-edit.sh +++ b/pkgs/clerie-sops/clerie-sops-edit.sh @@ -16,8 +16,17 @@ TMP_FILE="$(mktemp)" clerie-sops --decrypt --extract "[\"${KEY}\"]" "${SECRETS_FILE}" > "${TMP_FILE}" +TMP_FILE_HASH_BEFORE="$(sha256sum "${TMP_FILE}")" + vim "${TMP_FILE}" +TMP_FILE_HASH_AFTER="$(sha256sum "${TMP_FILE}")" + +# Don't write value back when it hasn't changed +if [[ "${TMP_FILE_HASH_BEFORE}" == "${TMP_FILE_HASH_AFTER}" ]]; then + exit 0 +fi + JSON_QUOTED_SECRET="$(jq -Rs '.' "${TMP_FILE}")" rm "${TMP_FILE}"