💾 Archived View for walve.net › gemlog › scaffolding.gmi captured on 2024-08-24 at 23:31:44. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-06-16)

-=-=-=-=-=-=-

Go home

My problem with scaffolding

Posted on June 4, 2024

I enjoy using Guix System. There's a part of me that just *loves* the ability to tinker with your operating system, configuring exactly to your liking and have that configuration be replicable easily, and it has saved me more than once from wasting hours getting my laptop back on track after disk upgrades or failures.

But lately I've grown more and more hateful of the idea of spending time doing this tinkering phase, endlessly editing configuration files, waiting for the system definition to get compiled and applied, check your changes, be content with them for a bit, something happens or there's something you'd like to add and back to square one.

Part of me wants things to *just work*, but then this comes into direct conflict with the other part which wants things to work *the exact way I want them to*, and I enter a weird loop of burnout where I'm not satisfied with how my computer works for me, but I don't want to waste time that I could use for work getting it to a state where I don't dread using it.

Currently my laptop computing prospects amount to using Debian or OpenBSD. I like OpenBSD because there's less tinkering required for me to get to a system I enjoy using, "but then there's the problem with compatibility", I think to myself.

But compatibility for what, exactly? I have more computers, one of them runs Linux and supports everything I need that is either proprietary, requires Linux or the experience using it with OpenBSD is subpar, such as gaming, drawing, and music production, so why am I worrying about something I don't need to worry?

Truth is I guess I'm really bad at thinking in the future. I don't want to have one computer for everything, but I can't stop thinking about that use case for some reason.

While writing this, a conversation I had with Devine over on the concatenative languages Discord guild pops in my mind:

You seem to be spending a lot of time on scaffolding [...] Every fall I flash re-install Arch, I've been doing it for years on the same old laptop

I was asking people how they handle doing backups, of pretty much everything: documents, code, etc., but they posed a very important point that at that moment I didn't recognize as important: I was spending too much time planning things, and not enough time actually doing them.

While writing this I realized I don't dislike my computer that much, which is ironic considering I started this with the title of "Computers suck. A lot." I realized that I had done a good job configuring my system, to the state I could just work on it and not feel like I was being annoyed by something.

But the problem is, I spent weeks, maybe even months, getting to this, and I still feel Guix System (or NixOS, or Ansible, or whatever new configuration-as-code tool comes to my attention) is like bringing a bazooka to a fist fight in my situation, and maybe it's even bad for me. I can't help but notice I tend to over-configure the tools I use if permitted, which is a habit I've had to unlearn.

As an example, years ago my Emacs configuration would've had hundreds, near a thousand lines of code, full of packages, and custom key-bindings and whatnot, and the problem was that I had tweaked so much of it that if I lost the configuration, I'd feel lost.

These feelings came to me recently as I watched a stream from System Crafters installing Guix back in my first days using it, and he struggled to get around Emacs because it didn't have a Vim emulation layer, or his custom keybindings, and I thought to myself "Well, I'm glad I don't have a largely bespoke and custom configuration!".

Recently I made some changes on my system, switched from Sway to GNOME, in an attempt to work towards this goal of a "system that just works" (and because I had parted ways with Wayland), thinking it'd reduce the amount of code in my configuration, but now recalling this situation now has prompted me to check the line counts on my Guix configuration repository and...

lobo@x250 ~/src/guix-config$ guix shell tokei -- tokei --no-ignore --hidden
===============================================================================
 Language            Files        Lines         Code     Comments       Blanks
===============================================================================
 Emacs Lisp              3          498          401           33           64
 INI                     1           27           23            3            1
 Markdown                1            3            0            2            1
 Scheme                  6          603          558           10           35
 Shell                   1            6            3            1            2
===============================================================================
 Total                  12         1137          985           49          103
===============================================================================

Yikes.

Maybe tomorrow I'll see if I ditch this system and install OpenBSD.

Maybe tomorrow I'll achieve nirvana and become a god of minimalist computing or whatever shit Reddit is losing their collective nuts over, and become the next most upvoted post on r/unixporn.

Maybe tomorrow I'll throw my computer on the trash and become an Amish.

...OK, that's too much. The main problem, I think, is that it's past nine (9:46 PM as I'm typing this sentence), and you know what they say: don't trust your own feelings past nine.

Have a nice evening.