New Emacs Configurations

20 Dec 2024, 11:18

I’ve created two new Emacs configurations: A simplified and enhanced refactoring of my current configuration for Emacs 29 (c. 700 LoC), and a spartan configuration that works on Emacs 27 without downloading any external packages (c. 100 LoC).

My current “main” Emacs configuration (in my dots) repository has grown organically since I started using Emacs in 2021. In that time I’ve learned a lot more about Emacs, and changed how I use it, so I was able to replicate pretty much all the behaviour I wanted from it with less than half the line count, and a third the emacs-init-time. Starting fresh allowed me to consolidate some features (e.g. switching from using a combination of corfu and company for completions to only ever using company).

The purpose of the Spartan configuration is portability: at the time of writing, the latest version of Emacs available in repositories for some “stable” Linux distributions that I have to use is 27.1 (notably, Ubuntu 22 LTS). While I can usually manage to install Emacs 29 on a machine I’m going to be using a lot, this is often time-consuming, and it sometimes integrates poorly with the host system. This configuration will work on anything newer than an ancient server still running Ubuntu 16. If I ever had to work with such an old machine, I would either access it through TRAMP from a modern Emacs on my PC, or use nano to edit files over SSH.