Workshop

Omarchy on a 2013 MacBook Air

Published on: 2026-08-31

By: Ian McCutcheon

I've got a 2013 MacBook Air that Apple gave up on years ago. It was top of the line when I bought it, it's spent most of its life plugged in, and the battery has only done 190 cycles in twelve years — it still reads 82.6% health. The machine is fine. What's on it isn't. It runs an old macOS I don't patch any more and it gets slower every year because browsers keep wanting more, and if I handed it to somebody I'd be handing them a slow computer they can't secure and can't repair, which is the polite version of handing them rubbish.

Omarchy had been sitting in the back of my head. I'd heard it was opinionated, and I know DHH from Twitter, so opinionated probably meant something interesting rather than something annoying. I'd never touched Arch. Still don't especially want the finicky details that come with it. But there it was, and then it turned out to run on a MacBook Air, and I had one of those doing nothing.

Expectations were low. Omarchy is keyboard-first, the mouse is a second-class citizen, I am not a keyboard person, and I genuinely thought I wouldn't get there from here.

What actually happened

It's snappy. On a twelve-year-old machine I did not expect that at all.

Then I stopped treating it like a laptop and started treating it like something I could open up. Over a day, with LifeOS and Claude Code doing most of the driving, it grew a few things:

What we changed for Apple hardware

Some of this will bite you too, if you put it on a Mac.

The installer sets the function row to plain F1–F12, which is right for a third-party keyboard with an Apple-style layout and wrong on an actual MacBook, where every key up there has an icon printed on it and those icons are what you expect the key to do. Apple hardware announces itself in the DMI, so it's a check and a branch, and the install tree already branches on hardware elsewhere.

Turning the keyboard backlight off saves your brightness first so it can put it back later, which is sensible right up until you run it twice without waking in between, at which point it writes a zero over the top of your setting and the good value is gone, so it wants a guard that refuses to save a zero.

Change the screensaver timings without restarting the service and it stays armed and never fires again. No blanking. No lock screen. Nothing tells you.

I'm not calling any of that broken. I'm saying I could get at all of it in an afternoon.

Where it sits now

It's joined two other machines on a shared channel and each of the three is turning into its own thing. This one is the one I can open up — where I think about tools and then build them, and a session I can carry with me and push into the channel from wherever I happen to be. It's starting to pick up Gmail, the calendar, and the long miserable job of cleaning out my inbox.

I've done a bit of real work on it already and there'll be more.

The keyboard is still a work in progress, honestly. Becoming a keyboard person is a real transition and I'm nowhere near finished, but I'm plunking along better than I expected and the machine is quicker than the one I was actually using back in 2013.

It draws ten watts, it does what I tell it, and it would have been landfill.