JASCO

My System Setup

Published 2026-04-30 14:40:02 PDT

I've been using Linux for almost a decade now

I remember first installing Linux Mint on that crisp September evening in 2016 like it was yesterday; the wonder that came with a whole new landscape of software and paradigms. Once I had the first taste I couldn't have enough. I spent a sizeable portion of the following 5 years distro-hopping trying to find what felt right. I explored the debian-derivatives, the arch-derivatives, arch (which was my home for a long time), OpenSuse, Gentoo (did not last long), Artix, Devuan, and Void, probably missing some, but those are the major ones.

I ended up on:

Void

It's stable between updates, has great package availability in the official repos, and ships minimally customized versions of upstream packages! Also, it has it's own init system, Runit.

I admit, I often can be quite contrarian, sometimes to a fault. When I first switched to SystemD-free distros, it was purely out of blind belief in the SystemD-hate spread online. Some of the arguments were valid, but a good chunk of which simply were not. I have gained respect for some of the added utility that SystemD brings, but after living in both, I still prefer Runit over SystemD for my day to day machines. OpenRC is also pretty good but a step down over Runit. The simpler systems just get out of the way and let me do what I want to do, where it feels like I have to jump through hoops for SystemD. If I want to create a new service with Runit, all I have to do is link a directory with an executable in it called "run" to /var/service. No need to figure out which settings I need to modify in the .service file, reload the daemons, enable the service, look through the logs for what went wrong, modify the .service file to fix it, rinse and repeat.

That's a general through-line with the software I like, it makes interfacing with itself trivial. The best exemplar is my window manager of choice:

Herbstluft WM

HerbstluftWM is a manual tiling window manager with the fun bonus of everything being configured through herbstclient, a program to interface with the window manager. This quirk ends up being HLWM's greatest strength, as it allows you to script just about every action. With a relatively simple tiling script that runs at startup, I can have the automatic window placement of a dynamic tiler, but with the flexibility of a manual one.

As you can see windows automatically are placed in a master and stack / fibonacci layout until 3 frames are present. After, new windows are added to the focused frame as a tab. However, you can still add new frames that go against these rules. The auto-tiling script won't kick back in until the windows are arranged in a way that matches the original tiling algorithm.

And I can swap frames as well, like most master and stack layouts allow.

With the tools HLWM gives you, you can create more complex window rules and build in complex functionality from simple operations, It's everything I want a window manager to be.

However, a lot of the time when I am using my computers, I do not want to be fiddling with all the little knobs and inevitable breakage that comes with standalone apps not behaving properly, which is why I run Herbstluft as the window manager within a desktop environment.

XFCE

Good ol' XFCE has never let me down. Even before I switched to tilers, XFCE was my environment of choice. It's not flashy, it doesn't try to be the hot new thing, it's just a modular DE that is easy to set and forget. This is of the more recent changes I have made to my system, as I realized I already was using XFCE's services, such as their power manager and screen locker in my HLWM config. It just made sense to also get the niceties that come with a DE while preserving my setup.

Besides the more recent change with XFCE, this has been my setup for the past 5 years. Every now and then I would hop away for a week or two but I always ended up back here. However, I still like to tinker on my machine from time to time, but at a more granular level. Instead of nuking and paving, I like to make little improvements to the setup. My best example of which is the panel.

Lemonbar

For those who don't use tilers, It's common for standalone window managers to not ship with any panel/dock/taskbar built into them. HLWM is one of the ones that doesn't. Instead, you have to pick from one of the many standalone panels and configure it to display the information you want. I am using Lemonbar as it has a fairly robust method for aligning and styling text, and it simply will display what is sent to it from stdin. Like most of my scripts, the first iteration was very much hacked together, with hard-coded paths and commands. Over the years I have made various changes, making things cleaner, having it redraw intelligently, adding clickable shortcuts, all sorts of little tweaks.

It has evolved along with my programming abilities. Initially I was updating the bar's contents every 0.4 seconds, so that there wasn't too much of a noticeable delay whenever you switched workspaces, a very brute-force solution. This of course ate away at system resources and battery life, but functioned. Once I started actually needing to leave the house again, that brute-force solution wasn't cutting it. Fortunately, HerbstluftWM emits hooks for pretty much every event, so I was able to base the bar-redrawing off of that.

At some point, Windows started displaying the current weather in it's taskbar. Not wanting to be one-upped in functionality, I added a weather widget. At first, via scraping wttr.in, but after it proved to be less-than-reliable, with Pirate Weather. Which in turn was once a hard-coded value for the location, but now fetches my current location from my owntracks server.

These are my current modules, Twig is the SSID of the current wifi connection.

Whenever I get bored and feel like tinkering, I simply try to improve or automate something in my config.

Reflections

I remember watching videos of people showing off their highly customized setups and having a longing feeling of wanting it for myself. Not to have their exact setup, but to have one that flowed with my stream of consciousness like theirs seemed to.

The mythical "end game" setup.

I would copy their configs, either in part or in whole, and expect everything to come naturally, like it did for them. Alas, it did not.

That's the nature of these highly customized setups, they're tuned to the designer's way of thinking. Maybe that is highly correlated to the way you think, and copying or mimicking his or her setup would work out.

The only way to know is to try.

Contact Me

I regularly check my email, If I don't respond quickly, send me a poke:

jasco.website@pm.me