I’ve had an off and on relationship with Emacs since my days studying CS at UC Davis. Every time that I’ve come back to it I’ve felt that it needed to be customized… a lot. Installing packages was the path of least resistance to accomplish that. There were times where I’d even tried out Doom and Spacemacs. I would get so wrapped up in customizing things that I would end up at the top of a precarious tower of cards. I learned a lot doing this, but I don’t think I knew enough to stick with it long term. I’d always end up dropping it for something else.
Nowadays I am on a stock Fedora system running stock Emacs with nothing extra installed. I can do this in part because I’m not developing anything complex enough to need a crazy environment (check out what I’ve been up to with otter on GitHub… it’s just a simple hobby project). And this way I learn about the features that are built in to Emacs already. Like, did you know that Emacs has a version control interface? Here I was thinking that you needed something like magit to interact with git in Emacs. Sure, magit is a bit nicer, but the default version control interface that Emacs provides is more than enough for my personal needs.
There’s probably something to be said as well for limiting the number of plugins, packages, etc. installed on a development machine. Supply chain attacks are no joke these days. This isn’t really why I’ve gone so minimalist with the development setup, but it is an interesting thought experiment to try and eliminate as many extraneous dependencies as possible.
Big disclaimer: no promises that I keep my setup this way. I reserve the right to continue my finicky ways.
Leave a Reply