@@ -16,12 +16,20 @@ Clone the repo to `~/.config/mutt`. Either move to backup or delete your old `~/
Be sure to install the following programs:
Be sure to install the following programs:
- `neomutt` - the email client.
- `offlineimap` - downloads the email.
- `neomutt` - the email client. If you delete a lot of the neomutt-specific settings in the muttrc, you can run vanilla mutt if you want.
- `offlineimap` - downloads the email. Required for installation.
- `msmtp` - sends your email.
- `msmtp` - sends your email.
- `dialog` - is the mutt-wizard interface.
- `dialog` - is the mutt-wizard interface. Required for installation.
**You must have a GPG public/private key pair as well.** This is what will safely encrypt your passwords.
**You must have a GPG public/private key pair as well.** This is what will safely encrypt your passwords. Run `gpg --full-gen-key` (or `gpg2 --full-gen-key`) to get one.
## Install
Once the repository is in place in `~/.config/mutt/`:
- Select to add an account. This will autogenerate your config files for mutt, offlineimap and msmtp.
- Run `offlineimap` once (at least a partial sync). This will create all the directories you need to finalize installation and will start downloading your mail.
- Select the option to autodetect mailboxes. This will use the directories offlineimap creates to detect your mailboxes and make your mail readable by mutt.
login=$(dialog --title "Luke's mutt/offlineIMAP autoconfig" --inputbox "If you have a username for the \"$title\" account which is different from your email address, enter it here. Otherwise leave this prompt blank." 10 60 3>&1 1>&2 2>&3 3>&- ) || userexit
login=$(dialog --title "Luke's mutt/offlineIMAP autoconfig" --inputbox "If you have a username for the \"$title\" account which is different from your email address, enter it here. Otherwise leave this prompt blank." 10 60 3>&1 1>&2 2>&3 3>&- ) || userexit
dialog --title "Luke's mutt/offlineIMAP password wizard" --passwordbox "Enter the password for the \"$1\" account." 10 60 2> "$tmpdir/$1"
"$GPG" -r "$gpgemail" --encrypt "$tmpdir/$1"
shred -u "$tmpdir/$1"
mv "$tmpdir/$1.gpg" "$creddir"
}
askgpg() { \
askgpg() { \
gpgemail=$(dialog --title "Luke's mutt/offlineIMAP wizard" --inputbox "To safely encrypt passwords, mutt-wizard requires that you have a GPG public/private key pair.\n\nPlease insert the email address for your key pair here, or generate one first with \`$GPG --full-gen-key\` and come back." 12 60 3>&1 1>&2 2>&3 3>&- ) || userexit
gpgemail=$(dialog --title "Luke's mutt/offlineIMAP wizard" --inputbox "To safely encrypt passwords, mutt-wizard requires that you have a GPG public/private key pair.\n\nPlease insert the email address for your key pair here, or generate one first with \`$GPG --full-gen-key\` and come back." 12 60 3>&1 1>&2 2>&3 3>&- ) || userexit