<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/scripts/setup-email.sh, branch load-graph-classify-end</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-end</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-end'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-05-12T05:56:27+00:00</updated>
<entry>
<title>test(scripts): add bats coverage for setup-email.sh password helpers</title>
<updated>2026-05-12T05:56:27+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-12T05:56:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=839bbeb14a92a777a3857102dba08a212b21443d'/>
<id>urn:sha1:839bbeb14a92a777a3857102dba08a212b21443d</id>
<content type='text'>
`setup-email.sh' ran top to bottom, so the only way to exercise `install_encrypted_password' / `decrypt_password' was to run the whole new-machine setup (mbsync, mu init). Its procedural body now lives in a `main()' function guarded by the usual `[[ "${BASH_SOURCE[0]}" == "${0}" ]]' check, so sourcing the script just defines the helpers, and running it directly is unchanged.

New `tests/test-setup-email.bats' sources the script, points the password dirs at a per-test tmpdir, and covers both helpers across the normal / skip-existing / missing-source / (for decrypt) gpg-failure paths, stubbing `gpg' so no real key is needed. `make test-bash' runs the bats files, and `make test' picks them up after the Elisp suite when bats is installed.
</content>
</entry>
<entry>
<title>feat(setup-email): add the deepsat work account</title>
<updated>2026-05-11T22:17:54+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-11T22:17:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=eddc103fd251e324f8bd5c9000ed8d29cb59c602'/>
<id>urn:sha1:eddc103fd251e324f8bd5c9000ed8d29cb59c602</id>
<content type='text'>
`setup-email.sh' was still gmail+cmail only. Added `dmail' as a first-class maildir (`~/.mail/dmail') and the work address to the `mu init' list, and reworked password bootstrap to match the live config: the gmail and dmail password files stay encrypted (mbsync/msmtp decrypt them on use), while cmail decrypts to `~/.config/.cmailpass' for ProtonBridge. A missing password source now fails loudly instead of continuing silently. `bash -n' verified. The script itself wasn't run, since it decrypts credentials, runs mbsync, and reindexes mu.
</content>
</entry>
<entry>
<title>feat(email): add password decryption to setup script</title>
<updated>2026-01-24T18:07:38+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-24T18:07:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=8645b13c41d16c839378a147ac055a790ffbc550'/>
<id>urn:sha1:8645b13c41d16c839378a147ac055a790ffbc550</id>
<content type='text'>
- Add password decryption loop to scripts/setup-email.sh
- Decrypt .gpg files from assets/mail-passwords/ to ~/.config/
- Add encrypted password files (.gmailpass.gpg, .cmailpass.gpg)
- Fix missing paren in text-config.el that broke config parsing
- Clean up mail-config.el
</content>
</entry>
<entry>
<title>changing repositories</title>
<updated>2025-10-12T16:47:26+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-10-12T16:47:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=092304d9e0ccc37cc0ddaa9b136457e56a1cac20'/>
<id>urn:sha1:092304d9e0ccc37cc0ddaa9b136457e56a1cac20</id>
<content type='text'>
</content>
</entry>
</feed>
