mutt-wizard

fork of Luke Smiths mutt-wizard
git clone git://git.jakekoroman.com/mutt-wizard
Log | Files | Refs | README | LICENSE

commit 23e7829195cc336cdc5898fd2bc02ef088d2774d
parent b8694f03d385458aa270c4b424ea9ed6680c3dc7
Author: Luke Smith <luke@lukesmith.xyz>
Date:   Thu, 21 Feb 2019 10:29:50 -0500

etc

Diffstat:
MREADME.md | 16++++++++++++----
Mmw | 21+++++++++------------
2 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/README.md b/README.md @@ -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: -- `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. -- `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. ### Optional dependencies diff --git a/mw b/mw @@ -150,22 +150,12 @@ EOF done 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 [ -z "$login" ] && login="$fulladdr" - #ifgoogleline + # service + # ifgoogleline grep "i[0-9]" "$muttdir/personal.muttrc" | awk '{print $3}' | sed -e 's/i//g' > "$tmpdir/mutt_used" printf "1\\n2\\n3\\n4\\n5\\n6\\n7\\n8\\n9" > "$tmpdir/mutt_all_possible" idnum=$(diff "$tmpdir/mutt_all_possible" "$tmpdir/mutt_used" | sed -n 2p | awk '{print $2}') getpass "$title" || userexit - addaccount -} - -getpass() { \ - 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" -} - -addaccount() { \ getprofiles mkdir -p "$HOME/.config/offlineimap/" "$HOME/.config/msmtp" [ ! -f "$HOME/.config/offlineimap/config" ] && echo "$offlineimap_header" > "$HOME/.config/offlineimap/config" @@ -175,6 +165,13 @@ addaccount() { \ echo "$mutt_profile" > "$accdir/$title.muttrc" } +getpass() { \ + 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() { \ 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 while ! echo "$gpgemail" | grep "$emailre"; do