aerc-wizard

aerc and isync auto-configuration
git clone https://git.awy.one/aerc-wizard
Log | Files | Refs | README | LICENSE

commit 47134a6945012d6cf914e7b6805d3836305637da
parent 5470781a008d46c2b80b1d35093f152429d4a1ee
Author: awy <awy@awy.one>
Date:   Tue, 23 Dec 2025 22:41:17 +0300

rebranding

Diffstat:
MMakefile | 35+++++++++++++++++------------------
MREADME.md | 90++++++++++++++++++++++++++++++++++++-------------------------------------------
Mbin/mw | 12++++++------
Acompletion/_aerc-wizard.zsh | 45+++++++++++++++++++++++++++++++++++++++++++++
Dcompletion/_mutt-wizard.zsh | 45---------------------------------------------
Mlib/openfile | 4++--
Mmailsync.1 | 6+++---
Mmw.1 | 62+++++++++++++++++++++++++++++++-------------------------------
Dshare/mailcap | 10----------
Dshare/mutt-wizard.muttrc | 194-------------------------------------------------------------------------------
Dshare/switch.muttrc | 10----------
11 files changed, 145 insertions(+), 368 deletions(-)

diff --git a/Makefile b/Makefile @@ -5,32 +5,31 @@ MANPREFIX = $(PREFIX)/share/man install: mkdir -p $(DESTDIR)$(PREFIX)/bin - mkdir -p $(DESTDIR)$(PREFIX)/lib/mutt-wizard - mkdir -p $(DESTDIR)$(PREFIX)/share/mutt-wizard + mkdir -p $(DESTDIR)$(PREFIX)/lib/aerc-wizard + mkdir -p $(DESTDIR)$(PREFIX)/share/aerc-wizard cp -f bin/mailsync $(DESTDIR)$(PREFIX)/bin - cp -f lib/openfile $(DESTDIR)$(PREFIX)/lib/mutt-wizard - chmod 755 $(DESTDIR)$(PREFIX)/share/mutt-wizard + cp -f lib/openfile $(DESTDIR)$(PREFIX)/lib/aerc-wizard + chmod 755 $(DESTDIR)$(PREFIX)/share/aerc-wizard for shared in share/*; do \ - cp -f $$shared $(DESTDIR)$(PREFIX)/share/mutt-wizard; \ - chmod 644 $(DESTDIR)$(PREFIX)/share/mutt-wizard/$$(basename $(notdir $$shared)); \ + cp -f $$shared $(DESTDIR)$(PREFIX)/share/aerc-wizard; \ + chmod 644 $(DESTDIR)$(PREFIX)/share/aerc-wizard/$$(basename $(notdir $$shared)); \ done mkdir -p $(DESTDIR)$(MANPREFIX)/man1 cp -f mailsync.1 $(DESTDIR)$(MANPREFIX)/man1/mailsync.1 - sed 's:/usr/local:$(PREFIX):' < share/mutt-wizard.muttrc > $(DESTDIR)$(PREFIX)/share/mutt-wizard/mutt-wizard.muttrc - sed 's:/usr/local:$(PREFIX):' < share/mailcap > $(DESTDIR)$(PREFIX)/share/mutt-wizard/mailcap - sed 's:/usr/local:$(PREFIX):' < bin/mw > $(DESTDIR)$(PREFIX)/bin/mw - sed 's:/usr/local:$(PREFIX):' < mw.1 > $(DESTDIR)$(MANPREFIX)/man1/mw.1 - chmod 644 $(DESTDIR)$(MANPREFIX)/man1/mw.1 $(DESTDIR)$(MANPREFIX)/man1/mailsync.1 - chmod 755 $(DESTDIR)$(PREFIX)/bin/mw $(DESTDIR)$(PREFIX)/bin/mailsync $(DESTDIR)$(PREFIX)/lib/mutt-wizard/openfile + sed 's:/usr/local:$(PREFIX):' < share/mailcap > $(DESTDIR)$(PREFIX)/share/aerc-wizard/mailcap + sed 's:/usr/local:$(PREFIX):' < bin/aew > $(DESTDIR)$(PREFIX)/bin/aew + sed 's:/usr/local:$(PREFIX):' < aew.1 > $(DESTDIR)$(MANPREFIX)/man1/aew.1 + chmod 644 $(DESTDIR)$(MANPREFIX)/man1/aew.1 $(DESTDIR)$(MANPREFIX)/man1/mailsync.1 + chmod 755 $(DESTDIR)$(PREFIX)/bin/aew $(DESTDIR)$(PREFIX)/bin/mailsync $(DESTDIR)$(PREFIX)/lib/aerc-wizard/openfile mkdir -p $(DESTDIR)$(PREFIX)/share/zsh/site-functions/ chmod 755 $(DESTDIR)$(PREFIX)/share/zsh/site-functions/ - cp -f completion/_mutt-wizard.zsh $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_mutt-wizard.zsh - chmod 644 $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_mutt-wizard.zsh + cp -f completion/_aerc-wizard.zsh $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_aerc-wizard.zsh + chmod 644 $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_aerc-wizard.zsh uninstall: - rm -f $(DESTDIR)$(PREFIX)/bin/mw $(DESTDIR)$(PREFIX)/bin/mailsync $(DESTDIR)$(PREFIX)/lib/mutt-wizard/openfile - rm -rf $(DESTDIR)$(PREFIX)/share/mutt-wizard $(DESTDIR)$(PREFIX)/lib/mutt-wizard - rm -f $(DESTDIR)$(MANPREFIX)/man1/mw.1 $(DESTDIR)$(MANPREFIX)/man1/mailsync.1 - rm -f $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_mutt-wizard.zsh + rm -f $(DESTDIR)$(PREFIX)/bin/aew $(DESTDIR)$(PREFIX)/bin/mailsync $(DESTDIR)$(PREFIX)/lib/aerc-wizard/openfile + rm -rf $(DESTDIR)$(PREFIX)/share/aerc-wizard $(DESTDIR)$(PREFIX)/lib/aerc-wizard + rm -f $(DESTDIR)$(MANPREFIX)/man1/aew.1 $(DESTDIR)$(MANPREFIX)/man1/mailsync.1 + rm -f $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_aerc-wizard.zsh .PHONY: install uninstall diff --git a/README.md b/README.md @@ -1,10 +1,10 @@ -# mutt-wizard +# aerc-wizard -https://muttwizard.com/ +https://git.awy.one/aerc-wizard Get this great stuff without effort: -- A full-featured and autoconfigured email client on the terminal wibuiltth neomutt +- A full-featured and autoconfigured email client on the terminal wibuiltth aerc - Mail stored offline enabling the ability to: * view and write emails while you're away from the internet @@ -15,22 +15,22 @@ Get this great stuff without effort: Specifically, this wizard: - Determines your email server's IMAP and SMTP servers and ports -- Creates dotfiles for `neomutt`, `isync`, and `msmtp` appropriate for your +- Creates dotfiles for `aerc`, `isync`, and `msmtp` appropriate for your email address - Encrypts and locally stores your password for easy remote access, accessible only by your GPG key - Handles as many as nine separate email accounts automatically - Auto-creates bindings to switch between accounts or between mailboxes -- Provides sensible defaults and an attractive appearance for the neomutt email +- Provides sensible defaults and an attractive appearance for the aerc email client -- If mutt-wizard doesn't know your server's IMAP/SMTP info by default, it will +- If aerc-wizard doesn't know your server's IMAP/SMTP info by default, it will prompt you for them and will put them in all the right places. ## Install #### Dependencies -- `neomutt` - the email client. (If you are using Gentoo GNU/Linux, you will need the `sasl` use flag to be enabled) +- `aerc` - the email client. (If you are using Gentoo GNU/Linux, you will need the `sasl` use flag to be enabled) - `curl` - tests connections (required at install). - `isync` - downloads and syncs the mail (required if storing IMAP mail locally). - `msmtp` - sends the email. @@ -38,19 +38,14 @@ Specifically, this wizard: - `ca-certificates` - required for SSL. Probably installed already. - `gettext` - writes config files. Probably installed already. -**Note**: There's a chance of errors if you use a slow-release distro like -Ubuntu, Debian, or Mint. If you get errors in `neomutt`, install the most -recent version manually or manually remove the offending lines in the config in -`/usr/share/mutt-wizard/mutt-wizard.muttrc`. - ```bash -git clone https://github.com/LukeSmithxyz/mutt-wizard -cd mutt-wizard -sudo make install +git clone https://git.awy.one/aerc-wizard +cd aerc-wizard +doas make install ``` -A user of Arch-based distros can also install the current mutt-wizard release from the AUR as -[mutt-wizard](https://aur.archlinux.org/packages/mutt-wizard/), or the Github master branch, [mutt-wizard-git](https://aur.archlinux.org/packages/mutt-wizard-git/). +A user of Arch-based distros can also install the current aerc-wizard release from the AUR as +[aerc-wizard](https://aur.archlinux.org/packages/aerc-wizard/), or the Github master branch, [aerc-wizard-git](https://aur.archlinux.org/packages/aerc-wizard-git/). ### Optional Dependencies @@ -59,9 +54,9 @@ A user of Arch-based distros can also install the current mutt-wizard release fr - `pam-gnupg` - Automatically logs you into your GPG key on login so you will never need to input your password once logged on to your system. Check the repo and directions out [here](https://github.com/cruegge/pam-gnupg). -- `lynx` - view HTML email in neomutt. +- `lynx` - view HTML email in aerc. - `notmuch` - index and search mail. Install it and run `notmuch setup`, tell - it that your mail is in `~/.local/share/mail/` (although `mw` will do this + it that your mail is in `~/.local/share/mail/` (although `aew` will do this automatically if you haven't set notmuch up before). You can run it in mutt with <kbd>ctrl-f</kbd>. Run `notmuch new` to process new mail. - `abook` - a terminal-based address book. Pressing tab while typing an address @@ -74,17 +69,17 @@ A user of Arch-based distros can also install the current mutt-wizard release fr ## Usage -The mutt-wizard runs via the command `mw`. Once setup is complete, you'll use -`neomutt` to access your mail. - -- `mw -a you@email.com` -- add a new email account -- `mw -l` -- list existing accounts -- `mw -d` -- choose an account to delete -- `mw -D your@email.com` -- delete account settings without confirmation -- `mw -t 30` -- toggle automatic mailsync to every 30 minutes -- `mw -T` -- toggle mailsync without specifying minutes (default is 10) -- `mw -r` -- reorder account shortcut numbers -- `gopass edit mw-your@email.com` -- revise an account's password +The aerc-wizard runs via the command `aew`. Once setup is complete, you'll use +`aerc` to access your mail. + +- `aew -a you@email.com` -- add a new email account +- `aew -l` -- list existing accounts +- `aew -d` -- choose an account to delete +- `aew -D your@email.com` -- delete account settings without confirmation +- `aew -t 30` -- toggle automatic mailsync to every 30 minutes +- `aew -T` -- toggle mailsync without specifying minutes (default is 10) +- `aew -r` -- reorder account shortcut numbers +- `gopass edit aew-your@email.com` -- revise an account's password - `mailsync` -- sync all configured email accounts. Also gives notifications of new mail and indexes new mail with notmuch silently. - `mailsync your@email.com` -- sync a particular (or several) email account(s). @@ -128,7 +123,7 @@ To give you an example of the interface, here's an idea: - <kbd>M</kbd> and <kbd>C</kbd> - For <kbd>M</kbd>ove and <kbd>C</kbd>opy: follow them with one of the mailbox letters above, i.e. <kbd>MS</kbd> means "move to Spam". - <kbd>i#</kbd> - Press <kbd>i</kbd> followed by a number 1-9 to go to a different account. If you - add 9 accounts via mutt-wizard, they will each be assigned a number. + add 9 accounts via aerc-wizard, they will each be assigned a number. - <kbd>a</kbd> to add address/person to abook and <kbd>Tab</kbd> while typing address to complete one from abook. - <kbd>?</kbd> - see all keyboard shortcuts @@ -147,9 +142,9 @@ systemctl enable --user goimapnotify@fulladdrs.service - `pam-gnupg` - Automatically logs you into your GPG key on login, so you will never need to input your password once logged on to your system. Check the repo and directions out [here](https://github.com/cruegge/pam-gnupg). -- `lynx` - View HTML email in neomutt. +- `lynx` - View HTML email in aerc. - `notmuch` - Index and search mail. Install it and run `notmuch setup`, tell it - that your mail is in `~/.local/share/mail/` (although `mw` will do this + that your mail is in `~/.local/share/mail/` (although `aew` will do this automatically if you haven't set notmuch up before). You can run it in mutt with <kbd>ctrl-f</kbd>. Run `notmuch new` to process new mail. - `abook` - A terminal-based address book. Pressing tab while typing an address @@ -158,18 +153,18 @@ systemctl enable --user goimapnotify@fulladdrs.service ## New stuff and improvements since the original release -- `mw` is now scriptable with command-line options and can run successfully +- `aew` is now scriptable with command-line options and can run successfully without any interaction, making it possible to deploy in a script. - `isync`/`mbsync` has replaced `offlineimap` as the backend. Offlineimap was error-prone, bloated, used obsolete Python 2 modules, and required separate steps to install the system. -- `mw` is now an installed program instead of just a script needed to be kept in +- `aew` is now an installed program instead of just a script needed to be kept in your mutt folder. - `dialog` is no longer used and the interface is simply text commands. - More autogenerated shortcuts that allow quickly moving and copying mail between boxes. - More elegant attachment handling. Image/video/pdf attachments without relying - on the neomutt instance. + on the aerc instance. - abook integration by default. - The messy template files and other directories have been moved or removed, leaving a clean config folder. @@ -179,33 +174,30 @@ systemctl enable --user goimapnotify@fulladdrs.service - Script is POSIX sh compliant. - Error handling for the many people who don't read or follow directions. Fewer errors generally. -- Addition of a manual `man mw` +- Addition of a manual `man aew` - Now handles POP protocol via `mpop` for those who prefer it (add an account with the `-p` option). POP configs are still generated automatically. ## Help the Project! -- Try mutt-wizard out on weird machines and weird email addresses and report any +- Try aerc-wizard out on weird machines and weird email addresses and report any errors. - Open a PR to add new server information into `domains.csv` so their users can - more easily use mutt-wizard. -- If nothing else, donate: - - XMR: `8AzeWXhJvYJ1VeENHcNXCR1dLMgDALreZ1BdooZVjRKndv6myr3t1ue6C4ML2an5fWSpcP1sTDA9nKUMevkukDXG6chRjNv` - - BTC: `bc1qacqfp36ffv9mafechmvk8f6r8qy4tual6rcm9p` + more easily use aerc-wizard. ## Details for Tinkerers -- The critical `mutt`/`neomutt` files are in `~/.config/mutt/`. -- Put whatever global settings you want in `muttrc`. mutt-wizard will add some +- The critical `aerc` files are in `~/.config/aerc/`. +- Put whatever global settings you want in `accounts.conf`. aerc-wizard will add some lines to this file, which you shouldn't remove unless you know what you're doing, but you can move them up/down over your config lines if you need to. If you get binding conflict errors in mutt, you might need to do this. -- Each of the accounts that mutt-wizard generates will have custom settings set +- Each of the accounts that aerc-wizard generates will have custom settings set in a separate file in `accounts/`. You can edit these freely if you want to tinker with settings specific to an account. -- In `/usr/share/mutt-wizard` are several global config files, including - `mutt-wizard`'s default settings. You can override this in your `muttrc` if +- In `/usr/share/aerc-wizard` are several global config files, including + `aerc-wizard`'s default settings. You can override this in your `muttrc` if you wish. ## Watch out for these things @@ -223,12 +215,12 @@ systemctl enable --user goimapnotify@fulladdrs.service might be other hurdles or two-factor authentication you have to jump through. Some, for example, will want you to create a separate IMAP password, etc. - `isync` is not fully UTF-8 compatible, so non-Latin characters may be garbled - (although sync should succeed). `mw` will also not auto-create mailbox + (although sync should succeed). `aew` will also not auto-create mailbox shortcuts since it is looking for English mailbox names. I strongly recommend you to set your email language to English on your mail server to avoid these problems. ## License -mutt-wizard is free/libre software. This program is released under the GPLv3 +aerc-wizard is free/libre software. This program is released under the GPLv3 license, which you can find in the file [LICENSE](LICENSE). diff --git a/bin/mw b/bin/mw @@ -4,8 +4,8 @@ set -a prefix="/usr/local" maildir="${XDG_DATA_HOME:-$HOME/.local/share}/mail" -muttshare="$prefix/share/mutt-wizard" -cachedir="${XDG_CACHE_HOME:-$HOME/.cache}/mutt-wizard" +muttshare="$prefix/share/aerc-wizard" +cachedir="${XDG_CACHE_HOME:-$HOME/.cache}/aerc-wizard" muttrc="${XDG_CONFIG_HOME:-$HOME/.config}/mutt/muttrc" aercdir="${XDG_CONFIG_HOME:-$HOME/.config}/aerc" accountsconf="$aercdir/accounts.conf" @@ -288,9 +288,9 @@ else action="$1" fi; } -mwinfo() { +aewinfo() { cat <<EOF -mw: mutt-wizard, auto-configure email accounts for mutt +aew: aerc-wizard, auto-configure email accounts for aerc including downloadable mail with \`isync\`. Main actions: @@ -438,13 +438,13 @@ list) list ;; add) checkbasics && askinfo && getboxes && getprofiles && finalize ;; delete) delete ;; sync) - echo "\`mw -y\` and \`mw -Y\` are now deprecated and will be removed in a future update. Please switch to using \`mailsync\`." + echo "\`aew -y\` and \`aew -Y\` are now deprecated and will be removed in a future update. Please switch to using \`mailsync\`." mailsync $fulladdr ;; toggle) togglecron ;; reorder) reorder ;; info) - mwinfo + aewinfo exit 1 ;; esac diff --git a/completion/_aerc-wizard.zsh b/completion/_aerc-wizard.zsh @@ -0,0 +1,45 @@ +#compdef aew + +_arguments \ + '1:flag:->flags' \ + '*:: :->args' + +case "$state" in + flags) + local -a opts + opts=( + '-a:Add an email address' + '-l:List email addresses configured' + '-d:Remove an already added address' + '-D:Force remove account without confirmation' + '-y:Sync mail for account by name' + '-Y:Sync mail for all accounts' + '-t:Toggle automatic mailsync every <number> minutes' + '-T:Toggle automatic mailsync every 10 minutes' + '-r:order account numbers' + ) + _describe 'flags' opts + ;; + args) + case $line[1] in + -a) + _alternative \ + 'args: :(( + -u\:"Account login name if not full address" + -n\:"Real name to be on the email account" + -i\:"IMAP/POP server address" + -I\:"IMAP/POP server port" + -s\:"SMTP server address" + -S\:"SMTP server port" + -x\:"Password for account (recommended to be in double quotes)" + -P\:"Pass Prefix (prefix of the file where password is stored)" + -p\:"Add for a POP server instead of IMAP." + -X\:"Delete an account'"'"'s local email too when deleting." + -o\:"Configure address, but keep mail online." + -f\:"Assume typical English mailboxes without attempting log-on." + ))' + ;; + -D|-y) + _values 'email list' $(aew -l | cut -f2) 2>/dev/null + esac +esac diff --git a/completion/_mutt-wizard.zsh b/completion/_mutt-wizard.zsh @@ -1,45 +0,0 @@ -#compdef mw - -_arguments \ - '1:flag:->flags' \ - '*:: :->args' - -case "$state" in - flags) - local -a opts - opts=( - '-a:Add an email address' - '-l:List email addresses configured' - '-d:Remove an already added address' - '-D:Force remove account without confirmation' - '-y:Sync mail for account by name' - '-Y:Sync mail for all accounts' - '-t:Toggle automatic mailsync every <number> minutes' - '-T:Toggle automatic mailsync every 10 minutes' - '-r:order account numbers' - ) - _describe 'flags' opts - ;; - args) - case $line[1] in - -a) - _alternative \ - 'args: :(( - -u\:"Account login name if not full address" - -n\:"Real name to be on the email account" - -i\:"IMAP/POP server address" - -I\:"IMAP/POP server port" - -s\:"SMTP server address" - -S\:"SMTP server port" - -x\:"Password for account (recommended to be in double quotes)" - -P\:"Pass Prefix (prefix of the file where password is stored)" - -p\:"Add for a POP server instead of IMAP." - -X\:"Delete an account'"'"'s local email too when deleting." - -o\:"Configure address, but keep mail online." - -f\:"Assume typical English mailboxes without attempting log-on." - ))' - ;; - -D|-y) - _values 'email list' $(mw -l | cut -f2) 2>/dev/null - esac -esac diff --git a/lib/openfile b/lib/openfile @@ -1,7 +1,7 @@ #!/bin/sh -# Helps open a file with xdg-open from mutt in a external program without weird side effects. -tempdir="${XDG_CACHE_HOME:-$HOME/.cache}/mutt-wizard/files" +# Helps open a file with xdg-open from aerc in a external program without weird side effects. +tempdir="${XDG_CACHE_HOME:-$HOME/.cache}/aerc-wizard/files" file="$tempdir/${1##*/}" [ "$(uname)" = "Darwin" ] && opener="open" || opener="setsid -f xdg-open" mkdir -p "$tempdir" diff --git a/mailsync.1 b/mailsync.1 @@ -1,7 +1,7 @@ .TH MAILSYNC 1 .SH NAME mailsync \- sync mail accounts set up with -.B mw. +.B aew. .SH SYNOPSIS .B mailsync [ @@ -13,7 +13,7 @@ mailsync \- sync mail accounts set up with .B mailsync syncs the mail of all accounts set up with .B -mw, +aew, or if account names are given, syncs only those accounts. .B @@ -47,7 +47,7 @@ Written by Luke Smith <luke@lukesmith.xyz> originally in 2018. .SH LICENSE GPLv3 .SH SEE ALSO -.BR mw (1), +.BR aew (1), .BR neomutt (1), .BR neomuttrc (1) .BR mbsync (1), diff --git a/mw.1 b/mw.1 @@ -1,15 +1,15 @@ -.TH MW 1 mutt-wizard +.TH AEW 1 aerc-wizard .SH NAME -mw \- mutt-wizard \- autoconfigure email accounts for neomutt and isync +aew \- aerc-wizard \- autoconfigure email accounts for aerc and isync .SH SYNOPSIS -.B mw +.B aew [ .I OPTIONS ] .SH DESCRIPTION -.B mw +.B aew takes a user email account and sets up a terminal-based email interface for it with -.B neomutt. +.B aerc. This can include offline email with .B isync/mbsync and configs for @@ -22,7 +22,7 @@ for sending mail, and also passwords automatically encrypted and stored with add an email address .TP .B -l -list all email accounts configured by mutt-wizard +list all email accounts configured by aerc-wizard .TP .B -d pick an already configured account and remove its configuration @@ -45,7 +45,7 @@ toggle a cronjob without specifying minutes between sync .B -r reorder account shortcut numbers .SH OPTIONS FOR ADDING ACCOUNTS -These can be specified on the command line, otherwise, you will be prompted for what is necessary. mutt-wizard knows the IMAP/SMTP server information for most email providers, so specifying them is usually redundant. +These can be specified on the command line, otherwise, you will be prompted for what is necessary. aerc-wizard knows the IMAP/SMTP server information for most email providers, so specifying them is usually redundant. .TP .B -u billy Account logon/username if required and different from email address. @@ -101,7 +101,7 @@ options as if it were a IMAP. .SH DETAILS .TP .B mailsync -mutt-wizard calls a script +aerc-wizard calls a script .I mailsync to sync mail. This script additionally indexes new mail with notmuch and gives you a notification if new mail has arrived. If you want to bypass its additional features, you can always just run .I mbsync -a @@ -115,51 +115,51 @@ it will be kept in .B notmuch can be used to index and search this mail by giving this directory when first running .B notmuch setup. -If you have not set up notmuch before, mutt-wizard will automatically set it up in the background the first time you add an account. +If you have not set up notmuch before, aerc-wizard will automatically set it up in the background the first time you add an account. .TP .B muttrc files -mutt-wizard will create a muttrc file for each created account holding account-specific details. These will appear in +aerc-wizard will create a muttrc file for each created account holding account-specific details. These will appear in .I ~/.config/mutt/accounts/ -and can be edited by the user if needbe. Note that the mutt-wizard will also source these files and create the bindings to switch between them, and these will appear in your default +and can be edited by the user if needbe. Note that the aerc-wizard will also source these files and create the bindings to switch between them, and these will appear in your default .I ~/.config/mutt/muttrc file. .TP .B Mail deletion -mutt-wizard's delete action will delete configuration files and +aerc-wizard's delete action will delete configuration files and .I not downloaded mail for safety (and time)'s sake. If you want to delete downloaded mail, do so manually by removing it from the directory above. .TP .B Default settings -The mutt-wizard has many default settings that focus on making it aesthetically pleasing and supplying more vim-like bindings. These can be found in -.I /usr/local/share/mutt-wizard/mutt-wizard.muttrc +The aerc-wizard has many default settings that focus on making it aesthetically pleasing and supplying more vim-like bindings. These can be found in +.I /usr/local/share/aerc-wizard/aerc-wizard.muttrc and the default mailcap file can be found in .I -/usr/local/share/mutt-wizard/mailcap. +/usr/local/share/aerc-wizard/mailcap. Any of these settings can be overwritten in .I ~/.config/mutt/muttrc, but be mindful that your overriding binds should appear after the .I -mutt-wizard.muttrc +aerc-wizard.muttrc file is sourced. .TP .B Detecting server settings -mutt-wizard has a repository of email services and their server information kept in -.I /usr/local/share/mutt-wizard/domains.csv +aerc-wizard has a repository of email services and their server information kept in +.I /usr/local/share/aerc-wizard/domains.csv which is used to automatically configure email settings. If your email provider is not found there, it will prompt you to input your email service's IMAP and SMTP server information which can usually be found by searching online. -If you would like to help develop mutt-wizard for others, you are invited to add this service information to +If you would like to help develop aerc-wizard for others, you are invited to add this service information to .I domains.csv -on mutt-wizard's Github <https://github.com/lukesmithxyz/mutt-wizard> or Gitlab <https://gitlab.com/lukesmithxyz/mutt-wizard> pages. +on aerc-wizard's Github <https://github.com/lukesmithxyz/aerc-wizard> or Gitlab <https://gitlab.com/lukesmithxyz/aerc-wizard> pages. .TP .B Gmail accounts -Google will require you to allow "less-secure" (third party) applications or remove two-factor authentication in order to access their IMAP servers to download your mail. If you use Gmail, be sure to handle this before running mutt-wizard <https://support.google.com/accounts/answer/6010255>. +Google will require you to allow "less-secure" (third party) applications or remove two-factor authentication in order to access their IMAP servers to download your mail. If you use Gmail, be sure to handle this before running aerc-wizard <https://support.google.com/accounts/answer/6010255>. .TP .B Enterprise and university accounts -Many universities and businesses might host their domain's email via Google or another service. This often requires a special IMAP/SMTP-specific password that you must generate and use. Again, mutt-wizard can handle these systems, but only once they've been set up. +Many universities and businesses might host their domain's email via Google or another service. This often requires a special IMAP/SMTP-specific password that you must generate and use. Again, aerc-wizard can handle these systems, but only once they've been set up. .TP .B Password decryption -mutt-wizard uses +aerc-wizard uses .I gopass and therefore .I gpg @@ -167,7 +167,7 @@ to decrypt your passwords. Provided your GPG key has a password, this might mean Because of this I strongly recommend the program .I pam-gnupg -<https://github.com/cruegge/pam-gnupg> which automatically unlocks your GPG password on login and keeps it active, thus giving you, with mutt-wizard, secure access to all your email accounts on your system without ever having to input a password. +<https://github.com/cruegge/pam-gnupg> which automatically unlocks your GPG password on login and keeps it active, thus giving you, with aerc-wizard, secure access to all your email accounts on your system without ever having to input a password. If you don't want to use this program, you can also increase the cache time of an inputted GPG password with the .I default-cache-ttl @@ -177,10 +177,10 @@ variables in your .I gpg-agent.conf. .SH MUTT-WIZARD'S NEOMUTT CONFIGURATION -Here is a list of not only mutt-wizard's particular defaults, but what you need to get the most out of email accounts configured with mutt-wizard. +Here is a list of not only aerc-wizard's particular defaults, but what you need to get the most out of email accounts configured with aerc-wizard. .TP .B Color -The mutt-wizard's default settings add color to messages in the index and color mail details to make them easier to see. New mail, in addition to being marked by the typical N, will also be bold. +The aerc-wizard's default settings add color to messages in the index and color mail details to make them easier to see. New mail, in addition to being marked by the typical N, will also be bold. .TP .B Movement with h/j/k/l Use vim keys to move down @@ -270,14 +270,14 @@ to copy mail or to move mail to the same boxes. .TP .B Switching between accounts -mutt-wizard can configure as many as nine accounts each numbered by the lowest available number when configured. Press +aerc-wizard can configure as many as nine accounts each numbered by the lowest available number when configured. Press .I i followed by an account's number to change to that account: i2, i5, etc. .I ctrl-b to open a menu to select a url you want to open in you browser. .TP .B Sidebar -mutt-wizard enables the sidebar by default which displays your account's boxes with mail tallies. +aerc-wizard enables the sidebar by default which displays your account's boxes with mail tallies. .I B will toggle the sidebar. Move up and down in it with .I ctrl-k/j. @@ -287,15 +287,15 @@ Open a box with .B More information Remember that you can press .I ? -at any time in neomutt to get a list of all key-bindings and functions. This list can also vary for different context menus. +at any time in aerc to get a list of all key-bindings and functions. This list can also vary for different context menus. .SH AUTHORS Written by Luke Smith <luke@lukesmith.xyz> originally in 2018. .SH LICENSE GPLv3 .SH SEE ALSO .BR mailsync (1), -.BR neomutt (1), -.BR neomuttrc (1) +.BR aerc (1), +.BR aerc-config (1) .BR mbsync (1), .BR mpop (1), .BR msmtp (1), diff --git a/share/mailcap b/share/mailcap @@ -1,10 +0,0 @@ -text/plain; $EDITOR %s ; -text/html; /usr/local/lib/mutt-wizard/openfile %s ; nametemplate=%s.html -text/html; lynx -assume_charset=%{charset} -display_charset=utf-8 -dump -width=1024 %s; nametemplate=%s.html; copiousoutput; -image/*; /usr/local/lib/mutt-wizard/openfile %s ; -video/*; setsid mpv --quiet %s &; copiousoutput -audio/*; mpv %s ; -application/pdf; /usr/local/lib/mutt-wizard/openfile %s ; -application/pgp-encrypted; gpg -d '%s'; copiousoutput; -application/pgp-keys; gpg --import '%s'; copiousoutput; -application/x-subrip; $EDITOR %s ; diff --git a/share/mutt-wizard.muttrc b/share/mutt-wizard.muttrc @@ -1,194 +0,0 @@ -# vim: filetype=neomuttrc -# This file contains all of mutt-wizard's default settings. -# mutt-wizard will have this file sourced from your muttrc. -# In the interest of seamless updating, do not edit this file. -# If you want to override any settings, set those in your muttrc. -set send_charset="us-ascii:utf-8" -set mailcap_path = $HOME/.config/mutt/mailcap:/usr/local/share/mutt-wizard/mailcap:$mailcap_path -set mime_type_query_command = "file --mime-type -b %s" -set date_format="%d %b %Y %H:%M" -set index_format="%2C %Z %?X?A& ? %D %-15.15F %s (%-4.4c)" -set sort = 'reverse-date' -set smtp_authenticators = 'gssapi:login' -set query_command = "abook --mutt-query '%s'" -set rfc2047_parameters = yes -set sleep_time = 0 # Pause 0 seconds for informational messages -set markers = no # Disables the `+` displayed at line wraps -set mark_old = no # Unread mail stay unread until read -set mime_forward = no # mail body is forwarded as text -set forward_attachments = yes # attachments are forwarded with mail -set wait_key = no # mutt won't ask "press key to continue" -set fast_reply # skip to compose when replying -set fcc_attach # save attachments with the body -set forward_format = "Fwd: %s" # format of subject when forwarding -set forward_quote # include message in forwards -set reverse_name # reply as whomever it was to -set include # include message in replies -set mail_check=60 # to avoid lags using IMAP with some email providers (yahoo for example) -auto_view text/html # automatically show html (mailcap uses lynx) -auto_view application/pgp-encrypted -#set display_filter = "tac | sed '/\\\[-- Autoview/,+1d' | tac" # Suppress autoview messages. -alternative_order text/html text/plain text/enriched - -bind index,pager i noop -bind index,pager g noop -bind index \Cf noop -bind index,pager M noop -bind index,pager C noop - -# General rebindings -bind index gg first-entry -bind index j next-entry -bind index k previous-entry -bind attach <return> view-mailcap -bind attach l view-mailcap -bind editor <space> noop -bind index G last-entry -bind pager,attach h exit -bind pager j next-line -bind pager k previous-line -bind pager l view-attachments -bind index D delete-message -bind index U undelete-message -bind index L limit -bind index h noop -bind index l display-message -bind index,query <space> tag-entry -#bind browser h goto-parent -macro browser h '<change-dir><kill-line>..<enter>' "Go to parent folder" -bind index,pager H view-raw-message -bind browser l select-entry -bind browser gg top-page -bind browser G bottom-page -bind pager gg top -bind pager G bottom -bind index,pager,browser d half-down -bind index,pager,browser u half-up -bind index,pager S sync-mailbox -bind index,pager R group-reply -bind index \031 previous-undeleted # Mouse wheel -bind index \005 next-undeleted # Mouse wheel -bind pager \031 previous-line # Mouse wheel -bind pager \005 next-line # Mouse wheel -bind editor <Tab> complete-query - -macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox" -macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox" -macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox" -macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts" -macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts" -macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts" -macro index,pager gj "<change-folder>=Junk<enter>" "go to junk" -macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk" -macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to junk" -macro index,pager gt "<change-folder>=Trash<enter>" "go to trash" -macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash" -macro index,pager Ct ";<copy-message>=Trash<enter>" "copy mail to trash" -macro index,pager gs "<change-folder>=Sent<enter>" "go to sent" -macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent" -macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent" -macro index,pager ga "<change-folder>=Archive<enter>" "go to archive" -macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive" -macro index,pager Ca ";<copy-message>=Archive<enter>" "copy mail to archive" - -#set crypt_auto_sign = yes -#set crypt_opportunistic_encrypt = yes -#set pgp_self_encrypt = yes -#set pgp_default_key = 'your@gpgemailaddre.ss' -macro index \eg "<enter-command>unset wait_key<enter><shell-escape>gpg --list-secret-keys; printf 'Enter email ID of user to publish: '; read eID; printf 'Enter fingerprint of GPG key to publish: '; read eFGPT; $prefix/libexec/gpg-wks-client --create \\\$eFGPT \\\$eID | msmtp --read-envelope-from --read-recipients -a $fulladdr<enter>" "publish GPG key to WKS provider" -macro index \eh "<pipe-message>$prefix/libexec/gpg-wks-client --receive | msmtp --read-envelope-from --read-recipients -a $fulladdr<enter>" "confirm GPG publication" - -macro index,pager a "<enter-command>set my_pipe_decode=\$pipe_decode pipe_decode<return><pipe-message>abook --add-email<return><enter-command>set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<return>" "add the sender address to abook" -macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read" -macro index O "<shell-escape>mailsync<enter>" "run mailsync to sync all mail" -macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>printf 'Enter a search term to find with notmuch: '; read x; echo \$x >\"\${XDG_CACHE_HOME:-\$HOME/.cache}/mutt_terms\"<enter><limit>~i \"\`notmuch search --output=messages \$(cat \"\${XDG_CACHE_HOME:-\$HOME/.cache}/mutt_terms\") | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/g for@a; s/\\$/\\\\\\$/g for@a;print@a' \`\"<enter>" "show only messages matching a notmuch pattern" -macro index A "<limit>all\n" "show all messages (undo limit)" - -# Sidebar mappings -set sidebar_visible = yes -set sidebar_width = 20 -set sidebar_short_path = yes -set sidebar_next_new_wrap = yes -set mail_check_stats -set sidebar_format = '%D%?F? [%F]?%* %?N?%N/? %?S?%S?' -bind index,pager \Ck sidebar-prev -bind index,pager \Cj sidebar-next -bind index,pager \Co sidebar-open -bind index,pager \Cp sidebar-prev-new -bind index,pager \Cn sidebar-next-new -bind index,pager B sidebar-toggle-visible - -# Default index colors: -color index yellow default '.*' -color index_author red default '.*' -color index_number blue default -color index_subject cyan default '.*' - -# New mail is boldened: -color index brightyellow black "~N" -color index_author brightred black "~N" -color index_subject brightcyan black "~N" - -# Tagged mail is highlighted: -color index brightyellow blue "~T" -color index_author brightred blue "~T" -color index_subject brightcyan blue "~T" - -# Flagged mail is highlighted: -color index brightgreen default "~F" -color index_subject brightgreen default "~F" -color index_author brightgreen default "~F" - -# Other colors and aesthetic settings: -mono bold bold -mono underline underline -mono indicator reverse -mono error bold -color normal default default -color indicator brightblack white -color sidebar_highlight red default -color sidebar_divider brightblack black -color sidebar_flagged red black -color sidebar_new green black -color error red default -color tilde black default -color message cyan default -color markers red white -color attachment white default -color search brightmagenta default -color status brightyellow black -color hdrdefault brightgreen default -color quoted green default -color quoted1 blue default -color quoted2 cyan default -color quoted3 yellow default -color quoted4 red default -color quoted5 brightred default -color signature brightgreen default -color bold black default -color underline black default - -# Regex highlighting: -color header brightmagenta default "^From" -color header brightcyan default "^Subject" -color header brightwhite default "^(CC|BCC)" -color header blue default ".*" -color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses -color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL -color body green default "\`[^\`]*\`" # Green text between ` and ` -color body brightblue default "^# \.*" # Headings as bold blue -color body brightcyan default "^## \.*" # Subheadings as bold cyan -color body brightgreen default "^### \.*" # Subsubheadings as bold green -color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow -color body brightcyan default "[;:][-o][)/(|]" # emoticons -color body brightcyan default "[;:][)(|]" # emoticons -color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon? -color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon? -color body red default "(BAD signature)" -color body cyan default "(Good signature)" -color body brightblack default "^gpg: Good signature .*" -color body brightyellow default "^gpg: " -color body brightyellow red "^gpg: BAD signature from.*" -mono body bold "^gpg: Good signature" -mono body bold "^gpg: BAD signature from.*" -color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" diff --git a/share/switch.muttrc b/share/switch.muttrc @@ -1,10 +0,0 @@ -# vim: filetype=neomuttrc - -# This is an embarrassing and hacky file that unbinds a bunch of binds between -# switching accounts. It is called each time an account is changed. - -unset hostname -unmy_hdr Organization -unmailboxes * -unalternates * -unset signature