dotfiles/office/README.md
Marty Oehme 03684ce29f
office: Rename mail module to office module
Reflecting the somewhat expanding scope of the module, renamed it to
office. Still keeps the old files and setups but also got a new README
file.
2022-12-08 13:43:44 +01:00

27 lines
2 KiB
Markdown

# office module
neomutt - terminal mail client
[mbsync](https://isync.sourceforge.io/mbsync.html) - mirror your Imapped mail directory locally with two-way synchronization
[notmuch](https://notmuchmail.org/) - index and search your mail
msmtp - send mail through shell commands
imapfilter - rule-based filtering engine for your incoming mail
vdirsyncer - mirror your contacts and calendars locally with two-way synchronization
khal - terminal vdir-compatible calendar client
calcurse - a pretty terminal calendar client, but not very vdir compatible
Most of the credential/account setup of course is highly specific to my setup and should be changed as required.
The current mail setup uses `mbsync` (from the isync project) to locally mirror the GMail imap folder.
It is run through a `sync-mail` script which can invoke pre- and post-sync hooks
(e.g. run your incoming mail through filters as soon as they arrive or ingest them into full-text search engines).[^1]
The sync script also automatically unlocks any pass directory so that credentials can be put into their respective applications and the directory closes again after use.
`msmtp` is used for mail sending by neomutt (and git if using git send-email).
`neomutt` then picks up the mail directory filled by `mbsync` and lets you browse it, respond to mail or create new ones.
[^1]: That being said, the script is a little dusty and could probably use a little overhaul. It *works* but could be more fantastic I feel.
For calendars and contacts, the wonderful `vdirsyncer` is used to sync everything from a remote Dav client (hard-coded to my server currently) to the local directories in documents.
This is then picked up by `khal` to allow you to browse and edit your events, and create new ones - all of which in turn ends up remotely.
You can also browse your events locally with `calcurse` which will import them on each startup, but will not sync back yet;
meaning, any changes you do through the application will not reflect themselves back on any of your other connected devices unfortunately.