Migrating from NeoMutt (or Mutt)¶
There is no config importer. This guide maps every NeoMutt concept to its Antiphon equivalent so the move takes an afternoon.
What changes¶
antiphondowns the network and syncs every account into one local store; theantiphonclient only reads that store, so the UI never waits on a server.- No
mailboxeslist: every folder of every account is synced and shown in the sidebar by default; opt folders out withfolders_hiddenandfolders_unsyncedrather than opting each one in. - Accounts live one per file in
accounts/*.toml; passwords come frompassword_cmd(the samepass show ...your muttrc already calls). - Search is notmuch query syntax everywhere.
Concept map¶
| NeoMutt | Antiphon |
|---|---|
~/.muttrc / neomuttrc |
config.toml + accounts/*.toml |
account hooks (folder-hook) |
one file per account |
$imap_pass / $smtp_pass |
password_cmd per account |
| mbsync/offlineimap + notmuch | antiphond (built in) |
$sendmail / msmtp |
[smtp] per account; daemon sends from a durable outbox |
$record (Sent copy) |
automatic sent-copy filing |
$editor |
$EDITOR in an embedded pane |
send-hook/reply-hook identity tricks |
[[identity]] with match patterns |
$pgp_default_key, crypt hooks |
pgp_sign + pgp_key per identity |
| sidebar patch | built in |
color commands |
a theme (vespers default) |
macro/bind |
[keys] table, vim defaults |
| virtual-mailboxes (notmuch) | [[saved_searches]] |
Step by step¶
-
Check the ground:
antiphon doctor # names every missing piece -
Write one
accounts/<name>.tomlper account:[imap]host, user andpassword_cmd, then an[[identity]]block per alias withmatchpatterns. A typo fails loudly with the file and line, so re-runantiphon doctoras you go. -
Set up the vault (recommended; see the vault): set
[vault] passphrase_cmd, then:antiphon vault create antiphon doctor --init-store -
Start the client; it launches the daemon and the initial sync. A large mailbox takes a while on the first pass, but the client is usable as mail lands.
antiphon -
Port your PGP trust: export each correspondent you verify into the keyring directory (see OpenPGP):
gpg --armor --export alice@example.com \ > ~/.config/antiphon/pgp/alice.asc -
Recreate virtual folders as
[[saved_searches]]and any list filing as[[rules]]entries. -
Run both clients side by side for a week. The store is a plain Maildir plus notmuch under the mount, so nothing locks you in. Then delete the muttrc.
What does not carry over¶
- HTML composing: Antiphon is plaintext-first, permanently.
- Local folders outside the synced accounts: copy their Maildir files into a folder of an account while the vault is mounted, then let the daemon index and upload them.
- Scoring and limit-pattern muscle memory: use notmuch queries and saved searches instead.