Gnus vs Sup
Gnus: Mail and news reader built into GNU Emacs, with back ends for IMAP, POP3, local mail folders and NNTP.
Sup: Curses email client in Ruby built around threads, labels and fast full-text search over local mail.
Differences
- Gnus is a mail client that runs inside Emacs; Sup is a full-screen terminal client.
- Only Gnus has built-in IMAP, POP3 and SMTP.
- On Windows, Gnus runs natively and Sup runs through WSL.
- On BSD, Gnus runs natively and Sup builds from source.
- On Android, Gnus runs through Termux and Sup is not available.
- Gnus has mouse support; Sup does not.
- Gnus has calendar support; Sup does not.
- Gnus has S/MIME; Sup does not.
- Gnus has OAuth2 sign-in; Sup does not.
- Sup has Vim-style keys; Gnus does not.
- Gnus is written in Emacs Lisp; Sup in Ruby.
- Configuration: Gnus uses Emacs Lisp in init.el or ~/.gnus.el, and Sup uses ~/.sup/config.yaml and ~/.sup/sources.yaml, plus Ruby hooks.
Side by side
| Gnus | Sup | |
|---|---|---|
| Interface | Runs inside Emacs | Full-screen terminal interface |
| Language | Emacs Lisp | Ruby |
| License | GPL 3.0 or later | GPL 2.0 or later |
| Latest version | 5.13 (bundled with Emacs 31.1) | 1.4 |
| Linux | Native | Native |
| macOS | Native | Native |
| Windows | Native | Through WSL |
| BSD | Native | Build from source |
| Android | Through Termux | No |
| IMAP | Yes | No |
| POP3 | Yes | No |
| SMTP | Yes | Through a separate tool |
| JMAP | No | No |
| Maildir | Yes | Yes |
| mbox | Yes | Yes |
| notmuch | Through a separate tool | No |
| OpenPGP | Yes | Yes |
| S/MIME | Yes | No |
| OAuth2 sign-in | via plugin | No |
| Threads | Yes | Yes |
| Search | gnus-search: IMAP SEARCH, or notmuch, mu, mairix and other local indexers | Xapian full-text index with a query language |
| HTML mail | built-in, rendered with the Emacs shr library | via the mime-decode hook and an external viewer such as w3m |
| Mouse | Yes | No |
| Multiple accounts | Yes | Yes |
| Offline use | via the Gnus agent or local Maildir back ends | reads local Maildir or mbox; sync with isync or OfflineIMAP |
| Calendar | replies to invitations with gnus-icalendar | No |
| Contacts | via BBDB or EUDC | tracks recent contacts automatically |
| Vim-style keys | No | Yes |
| Configuration | Emacs Lisp in init.el or ~/.gnus.el | ~/.sup/config.yaml and ~/.sup/sources.yaml, plus Ruby hooks |
Which to choose
Choose Gnus for
- Included with every GNU Emacs install, including native Windows builds.
- Reads IMAP directly, plus local Maildir, MH and mbox stores and NNTP newsgroups.
- Scoring, splitting and the Gnus agent allow detailed filtering and offline reading.
Watch out for
- The group, summary and article model takes time to learn.
- IMAP access runs inside Emacs, so large mailboxes can make Emacs wait.
- Configuration is Emacs Lisp spread across many variables.
Choose Sup for
- Fast full-text search over large archives
- Gmail-style labels, archiving and muting of threads
- Ruby hooks for custom behavior
Watch out for
- No built-in IMAP or SMTP; needs isync (or similar) and msmtp
- Changes sync back to Maildir only with the optional sync-back setting
- Packaged by Debian and Ubuntu (and the AUR); elsewhere installed as a Ruby gem with native Xapian bindings
Questions
What is the difference between Gnus and Sup?
Gnus is a mail client that runs inside Emacs; Sup is a full-screen terminal client. Only Gnus has built-in IMAP, POP3 and SMTP. On Windows, Gnus runs natively and Sup runs through WSL.
Which runs on Windows, Gnus or Sup?
On Windows, Gnus runs natively. On Windows, Sup runs through WSL.
See also: Gnus alternatives, Sup alternatives.