Suckless Software in the Age of Cheap Code
2026-02-18
I learned about Suckless software1 back in 2018 when I was a high school senior whose Linux knowledge consisted solely of Luke Smith tutorials. Back then I was just toying around with tiling window managers on Manjaro2 and impressing classmates with my i3lock3 setup; I didn’t really see the light when it came to using Suckless tools like dwm and st. I only started adopting them more purposely after I learned C sometime in college, but now that writing and understanding code is so much cheaper (in terms of time) with a coding agent, the barrier to enjoying the fruits of Suckless software has evaporated.
Why Suckless?
The philosophy page4 explains it all, but the gist of it can be understood from this excerpt:
We are the home of quality software such as dwm, dmenu, st and plenty of other tools, with a focus on simplicity, clarity and frugality. Our philosophy is about keeping things simple, minimal and usable. We believe this should become the mainstream philosophy in the IT sector. Unfortunately, the tendency for complex, error-prone and slow software seems to be prevalent in the present-day software industry. We intend to prove the opposite with our software projects.
In literal terms, this means that the software you clone from git is nothing but the MVP (ex: the entire dwm codebase is around 2000 lines of C). Don’t want a scrollbar on your terminal? It didn’t come with one5. Want your window manager to spawn new windows in a fibonacci sequence? Someone wrote the code for that6. At its core, Suckless tools like dwm and st are the most American things created by a group of Germans: core desktop interfaces without all the features that suck and intentionally built to be built upon. The tradeoff is that “built to be built upon” means you need to actually write code; historically, that meant being comfortable writing C.
Suckless and GNU/Linux in 2026
That barrier is gone, and I stumbled into realizing this while reviving an old Thinkpad x61. I bought it a few years back, but up until last November it had been sitting on my shelf collecting dust. In short, the constraints of the machine are the features to me. For example, disabling Javascript for performance reasons simultaneously eliminates ads for things you never had the need for and prevents you from falling victim to big tech platforms engineered to rob you of your attention. At the risk of sounding like a heretic, this experience has shown me that AI-generated code/configs and Suckless software are a match made in heaven. Not only is the friction of resolving merge conflicts on patch application gone, but if anyone doesn’t like how the interface looks or works, they have the freedom to change it.
Funny enough, Claude Code doesn’t even work on a machine from the Bush administration. My whole AI programming stack on this machine is a bit janky, but I wrote up a script that helps out with that7. In short, I setup a VPS with better specs than my Thinkpad with a script that mounts to the current working directory on your local machine over SSH and spins up Claude Code to read and write to it.
While I am capable of doing all of this by hand now, back in 2018 I really doubt I would’ve had the know-how to do anything like this. Things like modifying the gap-size or anything within the i3 config files was pretty simple, but there’s so many things that I would’ve never been able to figure out or had the time to do back then. As a Linux noob in high school, there used to be so many problems that I just accepted as the status quo that can be solved by an AI within ~10 minutes8. For instance, we have two networks in the apartment I live in, so I find myself switching between them quite often. Instead of switching via nmtui, I had Claude write up a shell script to scan all networks, list them in sorted order by strength, and allow selection/disconnection in my dmenu bar, and send me dunst notifications as it progresses, all from a single dwm keybind from a script that took me 10 minutes to hack up.
For the time being, it feels as if the big gap for non-technical users is knowing that the coding agent can do this now. I spend a lot of time at my job answering questions and debugging for non-technical users, and at this point I outsource 95% of it to a coding agent. The other 5% is usually due to some complexity from specific customer deployment configurations, release cycles, or general product capability knowledge (to which I’m slowly offloading to skills). There’s so much opportunity for Apple and Microsoft to bake an agent harness for configuration deeper within their OS now, but unfortunately they’re waiting to figure out how to use it to juice your bank account ever so slightly more.
In the corporate world, it’s pretty clear that AI is going to eat SaaS9, but it’s even clearer to me that cheaper inference is going to enable a whole new generation of Linux/Suckless users. Inevitably the model providers are going to find ways to ruin this for end users, but in the short-term I’ll proudly use my VC-subsidized tokens to avoid using VC-backed bloatware all day.
for the kids reading this, not the GLP-1 agonist https://manjaro.org/↩︎
gone are the days of broken audio drivers https://i.redd.it/arql4cnneauc1.png↩︎
https://martinalderson.com/posts/ai-agents-are-starting-to-eat-saas↩︎