emacs
I am a heavy Emacs users. I'm surprised there isn't any documentation about this in this wiki, but better late than ever, as they say.
Configuration
My Emacs configuration has finally been sanitized and published online, see my emacs-d git repository for details.
Packages
The original reason why I setup this page is to document the packages I use. I have little trust in the Emacs packaging system: there are no cryptographic signatures in package archives so no trust path between users and developers. When I discussed this in the Emacs community, it became apparent the only solution to my problem, short term, was to use the Debian packaging infrastructure instead. This has the advantage of automating but possibly also delegating maintenance of those packages.
Here's the list of packages I currently use.
Package | Emacs | Debian | Description |
---|---|---|---|
anzu | 0.62 | 0.62-2 | Show number of matches in mode-line while searching |
atomic-chrome | 2.0.0 | #909336 | Edit Chrome text area with Emacs using Atomic Chrome |
auto-dictionary | 1.1 | 1.1-1 | automatic dictionary switcher for flyspell |
company | 0.9.6 | 0.9.6-1 | Modular text completion framework |
company-go | 20170907 | 20170907-3 | company-mode backend for Go (using gocode) |
crux | 0.3.0 | #909337 | A Collection of Ridiculously Useful eXtensions |
dictionary | 1.10 | 1.10-3 | Client for rfc2229 dictionary servers |
ein | 0.14.1 | None | Emacs IPython Notebook |
elpy | 1.24.0 | 1.24.0-1 | Emacs Python Development Environment |
gnus-alias | 20150316.42 | None | an alternative to gnus-posting-styles |
go-mode | 1.5.0 | 3:1.5.0-2 | Major mode for the Go programming language |
ledger | 20180826.243 | 3.1.2~pre1+g3a00e1c+dfsg1-5 | command-line double-entry accounting program (emacs interface) |
magit | 2.13.0 | 2.13.0-3 | A Git porcelain inside Emacs. |
markdown-mode | 2.3 | 2.3+154-1 | Major mode for Markdown-formatted text |
markdown-toc | 0.1.2 | #861128 | A simple TOC generator for markdown file |
multiple-cursors | 1.4.0 | #861127 | Multiple cursors for Emacs. |
notmuch | 0.27 | 0.27-3 | run notmuch within emacs |
org | None | 9.1.14+dfsg-3 | Keep notes, maintain ToDo lists, and do project planning in emacs |
rainbow-mode | 1.0.1 | 1.0.1-1 | Colorize color names in buffers |
solarized-theme | 1.2.2 | 1.2.2-3 | The Solarized color theme, ported to Emacs. |
use-package | 2.3 | 2.3+repack-2 | A use-package declaration for simplifying your .emacs |
webpaste | 2.1.0 | None | Paste to pastebin-like services |
writegood-mode | 2.0.3 | 2.0.3-1 | Polish up poor writing on the fly |
writeroom-mode | 3.7 | #861124 | Minor mode for distraction-free writing |
yasnippet | 0.13.0 | 0.13.0-2 | Yet another snippet extension for Emacs. |
The above was automatically generated using check-emacs-packages with some manual modifications for packages on the main ELPA archive (as opposed to MELPA, which is surprisingly rare). To feed the list of packages into the script, I used this mighty pipeline:
check-emacs-packages $( ( grep '^(use-package' ~/.emacs | sed 's/.* //' ; \
grep -A2 packages ~/.emacs-custom | tail -1 | sed 's/[()]//g;s/ /\n/g' ) \
| sort -u )
Some packages are edited by hand:
dictionary-el
does not follow the emacs team naming conventionein
has a false positive in WNPPgnus-alias
is not in stable MELPAorg-mode
is not on any archive?rainbow-mode
is in GNU ELPA, not MELPAvc
is part of Emacs even though I load it with use-package so it is not listed here
This might be part of an override file instead of having to hand-craft this...