mutt-wizard/README.md

45 lines
3.3 KiB
Markdown
Raw Normal View History

2018-02-12 02:24:21 +01:00
# Luke's mutt Wizard for automatic Neomutt and OfflineIMAP configuration!
2018-02-10 07:47:29 +01:00
2018-02-13 21:12:38 +01:00
![mutt wizard preview](etc/mw.png)
2018-02-10 07:47:29 +01:00
Mutt is one of the most rewarding programs one can use, but can be a pain in the ass to configure. Since my job is making power-user tools available for the masses I want to create a tool that automates most of mutt configuration so that users can simply give their email address and get a /comfy/ setup. At that, I don't just want a mutt wizard, but an offlineIMAP wizard, so users can easily access their mail offline as well, and a wizard that makes it easy to store passwords securely using gpg.
2018-02-12 02:24:21 +01:00
## User interface
2018-02-11 04:34:43 +01:00
2018-02-13 21:00:48 +01:00
The main script can take an email and autodetect its server settings, generating a muttrc and offlineimaprc profile automatically. I gives you options for add accounts to the system, detecting them, removing them and autodetecting mailboxes and generating shortcut keys in mutt.
2018-02-10 07:47:29 +01:00
2018-02-12 02:24:21 +01:00
### Will it work on my email? (95% yes)
2018-02-11 22:14:14 +01:00
2018-02-13 21:08:11 +01:00
Yes! At this point the only problems are the unexpected ones. I've tried the system personally on Gmail, Teknik.io, cock.li and Yandex, while others have tried other providers. If your domain is in the `domains.csv` configuration should be 100% automatic and error free, if it's not in the file, the prompt will simply ask you for server information which you can look up yourself; the script knows exactly where to put everything and will configure everything else!
2018-02-11 22:14:14 +01:00
2018-02-13 21:08:11 +01:00
The only email provider which I think will *not* work (and will never work) is Proton Mail, but that's only because they require encryption through their web client IIRC.
2018-02-12 02:24:21 +01:00
## Installation and Dependencies
2018-02-13 21:00:48 +01:00
dialog, neomutt and offlineimap should be installed. The contents of this repo should go directly in `~/.config/mutt/` and run from there. You also need to have a GPG public/private key pair for the wizard to automatically store your passwords. Otherwise you'll have to store them insecurely in plaintext files without the help of the wizard.
2018-02-12 02:24:21 +01:00
Just run `mutt-wizard.sh` for all the options.
Once you successfully run the script, you should be able to simply run `offlineimap` to start your mail sync (which will be big at first). Opening `neomutt`, you should see your mail.
2018-02-13 21:08:11 +01:00
Note that once you run `offlineimap`, you'll want to reopen the script and select the option to autodetect mailboxes to put the finishing touches and to let you switch from mailbox-to-mailbox in just two key presses.
2018-02-12 02:24:21 +01:00
### "Wait? The script asks for my passwords?"
2018-02-13 21:08:11 +01:00
Look at the code. The script takes the passwords you give it, encrypts them immediately with your own GPG key, and shreds the leftovers. Nothing malicious; it's all there! If it makes you comfortable you can even run the script offline at first.
2018-02-11 22:14:14 +01:00
## You can help!
2018-02-10 07:47:29 +01:00
If you use mutt with a particular host or domain, put your server information in `domains.csv`! This will make everyone else who uses your email provider's life much easier!
Or you can help monetarily via [Patreon](https://patreon.com/lukesmith) or [Paypal](https://paypal.me/LukeMSmith)!
2018-02-11 20:37:46 +01:00
## Notes
Mail is stored in `~/.mail`. mutt configs and caches for each account are in `~/.config/mutt/accounts/`. Encypted passwords are in `~/.config/mutt/credentials`. A "personal" muttrc, with the macros for switching accounts and the default config is in `~/.config/mutt/personal.muttrc`.
2018-02-10 07:47:29 +01:00
## Todo
2018-02-13 21:08:11 +01:00
* Expand the list of server information in `domains.csv`.
* Add an option to update passwords.