← Writing

I run Omarchy

Omarchy is the desktop I run every day on a home-built Linux box I administer.

I run inspectable software on hardware I administer. Open weights stay on this box.

I run Omarchy every day on the Linux box I built myself. Arch and Hyprland, assembled into one desktop by DHH and the Basecamp team. I like it. The hardware is home-built, roughly Framework-class, and it has carried me through weeks where I could not afford a surprise reinstall.

What sits on my desk

Omarchy is opinionated. Someone else already made the thousand small decisions about keybindings and terminal fonts. I did not have to spend another weekend configuring Hyprland from scratch. I open a terminal and get back to work.

DHH and the Basecamp team put Arch and Hyprland in one ISO and named the result Omarchy. Omakub is the Ubuntu sister, and I run the Arch desktop. The opinions live in files I can open, so I can see which bind launches the terminal before I press it.

I like those opinions, having rebuilt Hyprland enough times to know what a weekend of clever tweaks costs on Monday. Two winters back I spent a Saturday on a config I had written by hand. Sunday night a package bump moved a layout key I had copied from a forum thread. Monday I had a black screen and a client call at nine. I still remember the feel of that morning. Omarchy is the desktop I put on this box so that morning stays in the past.

My configs still live in plain text under version control. I know how to rebuild the skeleton if I have to. That matters more than any screenshot.

If the desktop died tonight, I could clone the overlay and run the ISO. I would be back at a prompt without guessing which helper I had used last spring. A screenshot does not restore a bind.

Last month I copied one launch bind into an overlay I keep in git. After a weekly update I diffed that overlay against the Hyprland file Omarchy ships. Their file had moved a comment. Mine still applied, so I started the editor and kept the week.

The defaults bought that week back, and the overlay stayed mine. Opinionated here means a starting tree I can still open and read.

The Omacom Foundation sits behind this upstream now. Patrons fund a nonprofit so the desktop can keep a public tree. I pull that tree, and a gift that keeps the files readable is enough reason to mention it.

Why I still say yes after Quattro

Quattro landed in mid-August as version 4 and rewrote the shell in Quickshell. I took the published path and kept the overlay. The new shell drew the bar I already knew how to use. I did not rebuild the desk.

On Lex Fridman’s show at the end of August, episode 501, DHH said, “I have not written any of the code that’s shipped in Quattro by hand.” I take that as a shipping note from the person who named the desktop. I still opened the files after the bump. The bar I click is still a tree I can clone.

He also pitched Omarchy as an opinionated Linux system meant to stand in for the commercial desktops people already know. I already had a yes before that sentence. I run a desktop I administer, and I do not need a replacement-OS slogan to keep using it.

The popularity surge is real. I have watched more people install the ISO than I expected when I first put it on this box. A public security write-up this summer, filed under “Merchants of Insecurity,” was real enough that 4.0.1 followed as a fast-follow. I still run Omarchy, with the configs in plain text on hardware I administer.

Open weights on this machine

Most of my writing and terminal work happens here. OpenCode sits in my stack when I want a local coding assistant on hardware I control, and Omarchy is the desktop underneath.

DHH has said he reaches for hosted models when he wants the strongest ones. Omarchy will install a local runtime if you ask. I still bring the weights onto this disk and I keep them here. The desktop under that habit is still a yes.

The ISO does not include a model. Install > AI will offer LM Studio or Ollama as a local runtime. I still download the weights and pick the path. A file I can hash is the model I trust.

A model lives on a disk I can name, and the runtime is a package I can pin. If both sit on hardware I administer, I can run the same prompt next month and know which binary answered.

I keep a 7B-class GGUF in a directory I created on that disk. Ollama points at that directory, and when I open a terminal and type c, OpenCode talks to that runtime. I ran a checksum on the weights after the download. When a repeated prompt drifted, I checked the file time before I blamed the harness.

When a deadline is close, I want predictability. I do not want to debug why Bluetooth stopped working after a theme update. Omarchy has held that line for me.

In a week with a ship date I open the same terminal on the same Bluetooth keyboard I paired last month. Last Tuesday the sun hit the panel and I switched to a darker theme from the menu they ship. The keyboard stayed paired, and I finished the draft on the same bind I used that morning.

Agents I allow on the desk

On this install, c is the stub that launches OpenCode. I typed that alias for a week before I looked up the other stubs. Omarchy will also wire cx to Claude Code if I ask. I left cx unwired, and I type c.

Quattro added a way to pick a default agent and keep the theme in sync with that pick. I set the default to OpenCode and left it there. A default is a line in a file. I read that line after every major bump. If the desktop pointed c at a hosted agent, I would change the file before I typed the next prompt.

Version 4.0.1 tightened how an agent starts. The tighter path reviews a tool call before the agent runs it. Full bypass is still there if you choose it on purpose, and I left bypass off.

I have watched a script walk farther than I intended because I was tired and the default was yes. A coding harness that can edit the tree needs a pause I can see, and auto-review is that pause.

I opened c on a PHP file I already intended to change. The review step listed the edit before it applied. I read the diff and accepted the hunk I wanted. I discarded the rest, and the file stayed mine. That is the control habit I wanted from a desktop that now ships agent stubs.

I also want the recovery path written down where I can read it. If the shell dies, I want a diagnose step that lives in a file I already trust. A recovery flow that assumes an agent will talk me back to a prompt is a flow I will test before I need it on a Monday. I tested it once after Quattro by stopping the bar and reading the restart path they ship. I started the bar again from that file, and I did not open c to get there.

What I ignore

People have asked whether I moved to a Dell that ships Omarchy. No Dell laptop ships Omarchy preinstalled. Dell worked with Intel and the Omarchy project so a 2026 XPS 14 or XPS 16 on Panther Lake can run Linux on day one. That work includes the linux-ptl kernel and the backports that make those machines boot. You still download the Omarchy ISO and install it yourself.

Dell built DHH one custom XPS with Super and Omarchy keys printed on the hardware. A Dell figure is also a patron of the Omacom Foundation. Both facts belong to the people shipping the desktop. A store XPS still needs the ISO.

My daily driver stays the home-built machine. The parts sit in a roughly Framework-class chassis I can open with a screwdriver I already own. I can name the drive that holds /. I have restored from a disk I labeled with a marker. Day-one kernel work on Panther Lake is useful if I ever administer an XPS. The screwdriver on this desk does not move.

On that same Lex episode DHH said that in three days they had 330 plugins. That is his count from that conversation. I did not go count stars, and I will not invent a larger number. I kept the ISO for the files I can read.

I administer this box the way I administered LAMP boxes, with the configs in a repository I can clone. I have run the restore I claim to have, and ordinary client weeks stayed up when I could not afford a surprise reinstall.

Before I change anything

I ask whether the change will still make sense after the next major upgrade. If the answer is no, it waits until the weekend or it does not ship at all.

I apply that question to an overlay I wrote and to any agent default I did not pin. A bind that only works on this week’s shell stays in a note until I can rebuild it.

I wanted a project picker I had scripted. The script assumed a window rule Quattro later moved. I left the bind in a note in the same git repo as the overlay. After I read the new rule I put the bind back into the overlay and committed it. Monday still had a terminal I could open.

I still say yes to Omarchy. I like it, and I run it every day on the Linux box I built, with open weights on that disk and OpenCode on c when I want a local harness. Inspectable software on hardware I administer remains the rule on this desk.