My Emacs Config Journey

July 6, 2020

At the end of the day, your emacs config is your own.

Whether your using an emacs 'distro' like Doom or Spacemacs, or writing your own config from scratch, all the code and state built up when you start emacs is something you should own and learn how to debug.

I have been through 3 or 4 rewrites of my emacs configuration, and have ended up on Doom Emacs. I've seen hit or miss experiences with Doom from fellow coders, and so far, the ones who have left Doom preferred to build their own emacs configs from scratch. I definitely recommend that! The experience will teach you all that Doom has protected you from, or what pain it caused you. In the end, whichever way you go, you'll be able to appreciate either that Doom has good coverage, or that if something goes wrong, it's your fault.

Rough outline of my emacs config journey:

  • basic emacs config

  • discover org mode, move into 'literate' config via babel + tangle

    Ultimately the literate config felt like more prose than code.

  • basic emacs config, part 2

  • doom emacs

    Chosen before adding more engineers to the team at work. The hope was to standardize, so that we could grow together across the team. It worked, basically.

    For developers coming from a general vim+plugins+tmux experience, Doom is well within reach - most things will just work, and the learning is about getting all the new emacs keywords and plugins integrated into memory. Ex: magit, helm, ivy/counsel, etc.

    I've not really debated leaving Doom. Instead, I actually enjoy learning more and more of Doom whenever things go wrong. The community is strong - I enjoy seeing PRs that upgrade language configs to use the latest tools. It feels like my config is being maintained for free, cutting off problems that come from bad package updates or other newly introduced bugs.

    There are times where things go wrong, and you need to dig or search for the solution instructions. Mostly they are solved within a day by someone in the community, which is about how long it'd take me to figure it out anyway.


  • Emacs, in general
Russell Matney

Russell Matney

Writing, Stories, Software, Indie Games