Published 2025-12-22
tag(s): #random-thoughts #emacs
I am subscribed to a few subreddits via RSS, the idea being, I see new posts but don't fall
into a doomscrolling rabbit hole (all of them are pretty low traffic).
A few days ago, the post
"Deprioritize
packages" caught my attention, because I perceive it is not a very common opinion in the
subreddit (and judging from the replies...that seems to be the case).
Packages are cool because they get you somewhere and help you see what's possible, but ultimately I've found the most productive workflow improvements come from just chipping away at friction with small functions and bindings that solve your specific pain points.
That's been my impression as well, as detailed in
"Emacs pages and
micro-packages", where I talk not only about the hoagie-pages micro-package,
but also a prior experience where I replaced the entire fill-function-arguments
package with just a function to split the rest of the line by a separator.
Is my function really equivalent to the package? Of course not, but it is more useful
to me, because it is hyper-focused to my use cases.
I was not gonna write about this, because I touched on it before in "Emacs minimalism revisited", the post linked above, and a few even older posts. But two things happened lately that felt too big a coincidence not to mention it. :)
First, I saw another post in
the
subreddit, with OP stating I have not seen any updates for emacs package list in 3
days
and wondering if something is wrong. The question caught me off guard, because I
haven't thought about package updates in...a long time.
I remember a long time ago running package-list-packages every other morning. I
would also, back then, restart Emacs to make sure I was running the latest packages.
Yes, it would sometimes lead to conflicts between them, but honestly not that often.
Compared to the state of affairs now, running package updates more than once every few weeks seems silly to me. I did the package report from the linked minimalism post and...
Total packages: 8
• nongnu (3): markdown-mode, sly, ws-butler
• gnu (3): csv-mode, debbugs, vundo
• melpa (2): browse-kill-ring, sly-quicklisp
But, I do have
more custom
code that makes up for the reduction in packages.
And also in some cases I replaced packages for built-ins.
For example yesterday I updated the CSS in all the blog posts. A lot of people would do that
using wgrep. I instead used find-grep-dired
and dired-do-replace-regexp-as-diff.
I can't say that one is better than the other. I can re-iterate (and this time I won't link
the older post =P) that I still find that the built-ins have some sort of consistency, and
interact between in a way that speaks to me.
Or, maybe, I am just seeing things that confirm my existing biases. Who knows! [1]
The other thing that happened is that I've been emailing with someone trying Emacs and it made
me remember how I used to run it.
Actually, I thought about that first last week, when there was a post about using Emacs for C#
and I was reminiscing which packages and configuration I used back in like, 2020. Around the
time I wrote Sharper.
Turns out, it is hard to make recommendations for packages and workflows that are "modern",
when I am myself leaning on making the editor less and less blingy and reactive. In a way, I
am stone-aging my editor.
I feel any suggestions to other people to follow my lead would get them to run away in horror.
=P
I said less blingy, because I ditched all types of pop-ups and automatic typing features.
And less reactive, because nothing happens unless I explicitly request it. No command
completion, no code linting, no autocompletion. [2]
But at the same time...all that Emacs power is still there. I can request completion manually,
spell check, query a dictionary, trigger compilation, run a shell, etc.
It's just that I "moved it" out of the way of typing and reading, for reasons even I can't
explain myself.
I wanted to try it, and then it felt good and productive, and here I am now.