diff --git a/README.md b/README.md index 83ce55f..dd9116f 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,7 @@ Enjoy! * [`pass`](pass/README.md) - Password management suite * [`bibtex`](bibtex/README.md) - LateX/BibteX/pandoc plaintext writing & reference suite * [`git`](git/README.md) - distributed version control system. +* [`office`](office/README.md) - office/productivity software for writing e-mail and setting appointments ## Notes diff --git a/mail/README.md b/mail/README.md deleted file mode 100644 index b8c16e5..0000000 --- a/mail/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# e-mail module - -[aerc](https://aerc-mail.org/) - terminal mail client -[isync](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 - -The current mail setup uses `mbsync` (from the isync project) to locally mirror the GMail imap folder. -It, as of now, needs to be manually run by invoking `mbsync gmail` -- which expects your username and password to reside in a [`pass`](/pass) accessible file called `misc/aerc-gmail-app-password`. -In other words --- this is very specific to my setup and if transferring the options, please customize to your needs. - -Then, `notmuch` can be run on the local maildir to generate and indexed full-text search engine. -Right now, `notmuch` can only be used through its cli, it is not yet connected to `aerc`. - -`aerc` picks up the maildir created by `mbsync` in `~/documents/mail` and works on it. -`mbsync` syncs any changes made back to the remote imap directory. diff --git a/mail/.config/glow/email.json b/office/.config/glow/email.json similarity index 100% rename from mail/.config/glow/email.json rename to office/.config/glow/email.json diff --git a/mail/.config/imapfilter/accounts.lua b/office/.config/imapfilter/accounts.lua similarity index 100% rename from mail/.config/imapfilter/accounts.lua rename to office/.config/imapfilter/accounts.lua diff --git a/mail/.config/imapfilter/config.lua b/office/.config/imapfilter/config.lua similarity index 100% rename from mail/.config/imapfilter/config.lua rename to office/.config/imapfilter/config.lua diff --git a/mail/.config/imapfilter/filters/rollup-dump.lua b/office/.config/imapfilter/filters/rollup-dump.lua similarity index 100% rename from mail/.config/imapfilter/filters/rollup-dump.lua rename to office/.config/imapfilter/filters/rollup-dump.lua diff --git a/mail/.config/isync/mbsyncrc b/office/.config/isync/mbsyncrc similarity index 100% rename from mail/.config/isync/mbsyncrc rename to office/.config/isync/mbsyncrc diff --git a/mail/.config/khal/config b/office/.config/khal/config similarity index 100% rename from mail/.config/khal/config rename to office/.config/khal/config diff --git a/mail/.config/msmtp/config b/office/.config/msmtp/config similarity index 100% rename from mail/.config/msmtp/config rename to office/.config/msmtp/config diff --git a/mail/.config/neomutt/account b/office/.config/neomutt/account similarity index 100% rename from mail/.config/neomutt/account rename to office/.config/neomutt/account diff --git a/mail/.config/neomutt/colors b/office/.config/neomutt/colors similarity index 100% rename from mail/.config/neomutt/colors rename to office/.config/neomutt/colors diff --git a/mail/.config/neomutt/mailcap b/office/.config/neomutt/mailcap similarity index 100% rename from mail/.config/neomutt/mailcap rename to office/.config/neomutt/mailcap diff --git a/mail/.config/neomutt/maps b/office/.config/neomutt/maps similarity index 100% rename from mail/.config/neomutt/maps rename to office/.config/neomutt/maps diff --git a/mail/.config/neomutt/neomuttrc b/office/.config/neomutt/neomuttrc similarity index 100% rename from mail/.config/neomutt/neomuttrc rename to office/.config/neomutt/neomuttrc diff --git a/mail/.config/neomutt/settings b/office/.config/neomutt/settings similarity index 100% rename from mail/.config/neomutt/settings rename to office/.config/neomutt/settings diff --git a/mail/.config/notmuch/config b/office/.config/notmuch/config similarity index 100% rename from mail/.config/notmuch/config rename to office/.config/notmuch/config diff --git a/mail/.config/sh/alias.d/calcurse-vdir.sh b/office/.config/sh/alias.d/calcurse-vdir.sh similarity index 100% rename from mail/.config/sh/alias.d/calcurse-vdir.sh rename to office/.config/sh/alias.d/calcurse-vdir.sh diff --git a/mail/.config/sh/alias.d/fzfmail.sh b/office/.config/sh/alias.d/fzfmail.sh similarity index 100% rename from mail/.config/sh/alias.d/fzfmail.sh rename to office/.config/sh/alias.d/fzfmail.sh diff --git a/mail/.config/sh/alias.d/imapfilter-xdg.sh b/office/.config/sh/alias.d/imapfilter-xdg.sh similarity index 100% rename from mail/.config/sh/alias.d/imapfilter-xdg.sh rename to office/.config/sh/alias.d/imapfilter-xdg.sh diff --git a/mail/.config/sh/alias.d/mbsync-xdg.sh b/office/.config/sh/alias.d/mbsync-xdg.sh similarity index 100% rename from mail/.config/sh/alias.d/mbsync-xdg.sh rename to office/.config/sh/alias.d/mbsync-xdg.sh diff --git a/mail/.config/sh/env.d/neomutt-create-cache-dir.sh b/office/.config/sh/env.d/neomutt-create-cache-dir.sh similarity index 100% rename from mail/.config/sh/env.d/neomutt-create-cache-dir.sh rename to office/.config/sh/env.d/neomutt-create-cache-dir.sh diff --git a/mail/.config/sh/env.d/notmuch-xdg.sh b/office/.config/sh/env.d/notmuch-xdg.sh similarity index 100% rename from mail/.config/sh/env.d/notmuch-xdg.sh rename to office/.config/sh/env.d/notmuch-xdg.sh diff --git a/mail/.config/vdirsyncer/config b/office/.config/vdirsyncer/config similarity index 100% rename from mail/.config/vdirsyncer/config rename to office/.config/vdirsyncer/config diff --git a/mail/.local/bin/mail-searchcontacts b/office/.local/bin/mail-searchcontacts similarity index 100% rename from mail/.local/bin/mail-searchcontacts rename to office/.local/bin/mail-searchcontacts diff --git a/mail/.local/bin/render-prettyhtml b/office/.local/bin/render-prettyhtml similarity index 100% rename from mail/.local/bin/render-prettyhtml rename to office/.local/bin/render-prettyhtml diff --git a/mail/.local/bin/sync-mail b/office/.local/bin/sync-mail similarity index 100% rename from mail/.local/bin/sync-mail rename to office/.local/bin/sync-mail diff --git a/office/README.md b/office/README.md new file mode 100644 index 0000000..4105cc8 --- /dev/null +++ b/office/README.md @@ -0,0 +1,27 @@ +# 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.