4.1 KiB
4.1 KiB
azos/pass
azos/pass
Password store conventions and path mappings for lauretta.
See root: azos
Format
The store was migrated (2026-07-25) from a nested path scheme to a flat layout.
Each entry is domain.com with the password on line 1 and login: on line 2:
<PASSWORD> login: user@example.com
Conventions
- All
passwordCommandfields in Nix/mbsync configs must pipe through| head -1to extract only the password line pass-git-helperhandles multi-line entries natively — nohead -1needed there- mbsync app passwords live under the
mbsync/namespace to keep them separate from account passwords - Emacs' generic
auth-source-search(used by any package supporting auth-source, e.g. lichess.el, gptel, mu4e, tramp) is wired topassviaauth-source-pass-enableinazos-core/features/base/emacs/config.org(added 2026-09-15). Store the secret under a pass entry matching the bare hostname the package searches on (e.g.lichess.org) — no per-package glue code needed, unlike the caldav/mbsyncshell-command-to-string "pass ... | head -1"pattern.
Path Mappings
| Service | pass path | Config location |
|---|---|---|
| Gmail mbsync | mbsync/anerisgreat@gmail.com |
features/mail/default.nix |
| BGU mbsync | mbsync/anerz@post.bgu.ac.il |
features/mail/default.nix |
| Zakobar mail (privateemail.com) | privateemail.com |
features/mail/default.nix |
| Nextcloud / caldav | zakobar.com |
features/lauretta/emacs/config.org |
| Nextcloud webdav mount (password, reuses caldav entry) | zakobar.com |
features/nextcloud/default.nix |
| Nextcloud webdav mount (uid, differs from login name) | nextcloud-username/aner |
features/nextcloud/default.nix |
| Git credentials (zakobar.com) | zakobar.com |
features/git-config/pass-git-mapping.ini |
| Lichess API token | lichess.org (via auth-source-pass) |
azos-core/features/base/emacs/config.org |
Pending
mbsync/anerisgreat@gmail.comandmbsync/anerz@post.bgu.ac.ilentries not yet created in the store — mail sync will fail until these are added viapass insertlichess.orgentry not yet created — needed for lichess.el AI challenges/moves to authenticate (scopes:board:play,challenge:write, optionallyfollow:read)
Known secret leaked into repo (needs migration)
features/lauretta/emacs/config.org hardcodes a live-looking Groq API key in plaintext (gptel-make-openai "Groq" :key "gsk_..."), committed to git history. Should migrate to pass + the new auth-source-pass wiring (gptel's :key slot accepts a function; gptel ships gptel-api-key-from-auth-source for exactly this). Flagged 2026-09-15, not yet fixed — user hasn't confirmed whether to rotate/migrate.
mu4e / mu database gotchas
home.activation.muInitinfeatures/mail/default.nixonly runsmu initif~/.cache/mudoesn't already exist — changing the--maildirpath in that script (e.g. the 2026-09-07~/Mail→~/Maildirfix) has no effect on machines where the cache dir already exists. The activation script is init-only, not a resync-on-config-change mechanism.- Symptom of a corrupted Xapian index: mu4e fails with "Mu server process ended with exit code 1" / "error in process sentinel";
mu infoormu serverdirectly report "error: failed to read database". Tell-tale sign in~/.cache/mu/xapian/: the small metadata files (iamglass,flintlock) have a much newer mtime than the bulk data files (docdata.glass,position.glass,postlist.glass,termlist.glass) — indicates a crashed/interrupted index run left the glass DB inconsistent. - Fix:
mv ~/.cache/mu ~/.cache/mu.bak-$(date +%s)(reversible backup, not delete), thenmu init --maildir"$HOME/Maildir" –my-address=… [repeat for all addresses]=, thenmu index. Reindexing ~16k messages from local Maildir takes under a minute — safe to just do this rather than trying to repair the Xapian DB in place.