George Jones

Curious Musings

Oct 2025

It's Fall. Time to clean up my emacs clutter.

Emacs Workflow Maintenance (or Abandonment) Amid Chaos

The moral of the story: don’t declare emacs bankruptcy in the middle of family health crises, in a year full of intense travel planning or while you’re transitioning finances, life, etc. form work to retirement. And certainly not if these all occur around the same time. I tried. I went to look at my emacs config git repo and had to figure out why the current one wasn’t online, why the old one stopped getting updates a year ago, and why there was no apparent overlap between the commit histories.

Apparently about a year ago I decided to take a base config from Protesilaos Stavrou, throw out everything I had in my config and add things back in that seemed reasonable. But I just had to do git archaeology on two repos to figure out what I did. Apparently I didn’t fork (why?), so the old repo contains ~8 years of commit logs and the new git repo has everything I’ve done since then. This is not ideal. But it’s what it is.

Somewhere in there I switched from running gitea on my own raspberry pi to hosting on digital ocean to just letting codeberg mess with operational and security issues.

Some emacs goodness have I managed to sneak in in the middle of the personal chaos:

New stuff

Because, even in an over-stressed maintenance mode, you can’t keep an emacs person from trying new things:

Keeping the basics going

  • latest emacs: I’ve built emacs from sources (git://git.sv.gnu.org/emacs.git) a few times and upgraded various packages.

  • xah-fly-keys: I’ve kept up with the latest xah-fly-keys. Because there are better things to do than to get RSI and Emacs pinky after 45+ years of using emacs.

Maintaining My diary.org Based Workflow

My most basic workflow in emacs is to capture everything to diary.org as a date tree. If something there gets too long, I break it out to it’s own file in a directory and link to it, but all TODOs, INFOs, QUESTIONs etc. start there. Beyond that, almost everything of any importance is an org file somewhere under $HOME.

To support this workflow I’ve created two scripts:

  • orglinks.sh: This script hard links all org files under $HOME into ~/orgfiles/ and commits them to git. In addition, for diary.org it creates .diff files for every change.

- orgwatch.sh :: This script runs out of cron to invoke orglinks and create logs.

I’m sure there are more elegant ways of doing this, but it’s mostly working — “if it ain’t (badly) broke…”

Conclusion

I’m popping my head up for some “recreational emacs” after a long period of personal chaos. The recreational bits involve trying new things (org-social, denote). But even when I didn’t have the time to remember what I was doing to my emacs configs or finish the migration/bankruptcy that started 11 months ago, the basic work flow that I had in emacs (my daily.org routine, org agenda, other org-mode goodness) let me stay on top of things and organize the chaos.

This is an entry for the Emacs Carnival for October 2025 on “Maintenance”.