OZXUS4F6MZQGADD3EHLKEROGNPPJ2N43IYZUCMT4ARAKNRYWI43QC # decrypt() {# path=$1# $gpg --decrypt .encrypt.d/master_key.gpg |# $gpg --batch --output - --pinentry-mode loopback --passphrase-fd 0 \# --decrypt "$path"# }
decrypt() {path=$1$gpg --decrypt .encrypt.d/master_key.gpg |$gpg --batch --output - --passphrase-fd 0 \--decrypt "$path"}
# .encryptにマッチするパスをremoveして`.gpg`をつけてaddし直すfor path in $secrets_in_tracked; do
# pijulが記録しているパスのうち`*.gpg`にマッチするもの (pijul listが変わってるのでtracked_globとは重複しない)gpg_tracked=$(pijul list | grep '\.gpg$' | sed 's/\.gpg$//'): "↓debug gpg_tracked↓$gpg_tracked"
case $path in*.gpg)break;;*)pijul remove "$path" # 秘密のファイルはrecordしてはいけないtouch "$path.gpg"
# 秘密にしなければいけないファイルたちwill_be_encrypted="$tracked_glob$gpg_tracked"# 秘密のファイルに変更があれば暗号化し直すfor path in $will_be_encrypted; doif [ ! -f "$path" ]; then[ "$path" = ".encrypt.d/master_key" ] || pijul remove "$path.gpg"elseif [ -f "$path.gpg" ] &&[ "$($sha256sum <"$path")" != "$(decrypt "$path.gpg" | $sha256sum)" ]; thenrm "$path.gpg"fiif [ ! -e "$path.gpg" ]; thenencrypt "$path"fi