Omarchy on a Mac with Apple silicon, M1 to M4

Omarchy Mac, two ways: real Omarchy on Mac hardware, or macOS styled to feel like it. The stack, the one command, and the 29% a Mac will not do.

by Dividend Solo
A holographic HUD cover: a hologram of a Mac laptop running Omarchy, scanned by a pink line, beside the headline 'Omarchy on a Mac, M1 to M4'.

Type Omarchy Mac into a search box and a chatbot hands you a shopping list: AeroSpace, SketchyBar, Ghostty, a prompt, a theme pack, good luck, kid. That is seven weekends of config, and not one of them mentions the parts a Mac flatly refuses to do. I did the seven weekends. You get the page I was looking for when I started: two paths, one stack, one command, and the scorecard nobody else keeps. The port is free, and it sits on the tools page beside everything else I have built.

The finished omarchy4mac desktop: Omarchy's bar across the top with five workspaces, a clock, the weather and the gruvbox theme, and a Ghostty terminal open below it

The finished port: Omarchy's bar, five workspaces, gruvbox, and a Ghostty window. No Arch install, no drive wiped.

What "Omarchy Mac" actually is

The phrase covers two different projects, and this page walks you through both of them. The first is Omarchy itself, on Mac hardware, which means Linux: an M1 MacBook and an M4 land in the same place there, because Apple silicon is not directly supported. The second is macOS with Omarchy's workflow ported onto it, which means your Mac apps keep working and nobody wipes a drive. Read both and pick the one that fits your Mac. I took the second, which I would love to call a principled choice, but my M4 made it for me.

What Omarchy is, and what Apple silicon can and cannot run

Omarchy is DHH's Arch Linux setup with opinions. Hyprland tiling, a top bar, one keybinding grammar, twenty-two themes that flip the whole desktop at once, and a menu tree that retires the settings app for good. It is fast, it is quiet, and it runs on Linux. Only Linux. That last part is where most of the interest dies.

Omarchy has built-in support for Intel Macs with some caveats on T1/T2 models. Apple Silicon is not directly supported: the Omarchy manual says installing on an M-series Mac "is not directly supported at this time." Mine is an M4, so that door is closed.

Because most of the people asking own a Mac. The hardware is fine. The window management is from 2005 and proud of it. Nobody wants a new laptop. They want the workflow. Fair enough.

The two paths

Do you want real Omarchy on Linux, or Omarchy's workflow on the macOS you already have? The first is where Apple silicon bites.

Run Linux on the Mac. Real Omarchy on Mac hardware. Four routes, one line and a link each, checked 2026-09-14:

  • Try Omarchy - the upstream Omarchy desktop packaged as a native, hardware-accelerated app for Apple Silicon.
  • UTM - virtualize Linux ARM on Apple Silicon and install Omarchy inside the VM. Near-native speed for desktop work, and macOS stays one click away.
  • The official Intel install - Omarchy supports Intel Macs out of the box, with caveats on T1/T2 models. Apple Silicon is not directly supported.
  • Asahi Linux - install Arch Linux ARM natively on Apple Silicon, then run the Omarchy Mac installer on top. Real Omarchy on real Apple hardware; drivers and some packages are still rough on M-series.

Sources: Omarchy, Try Omarchy, UTM, the Omarchy manual, Asahi Linux, omarchy-mac. Checked 2026-09-14.

Keep macOS, port the feel. Tiling, bar, borders, keybindings, every theme, on top of the OS you already paid for. Your Mac apps keep working. This is the rest of the page, and it is the one I live in every day, so at least one person has tested it. Three options for the macOS path, mine first and the others named so this page stays honest:

  • omarchy4mac - my open-source port. 71% of Omarchy 4 scored against the full 35-row table, themes synced from Omarchy's own templates, auto re-theming on the light/dark flip.
  • omacosy - an Omarchy-style tiling desktop for macOS with no SIP changes: AeroSpace, Karabiner for the Super key, small Swift binaries for the bar and workspaces.
  • The Majestic BTT preset - the Omarchy look and keybindings built from BetterTouchTool presets.

The stack

Each Omarchy piece has a Mac stand-in. None of them are mine, and I am not going to pretend they are. The work was wiring seven strangers into one keybinding grammar and one theme switch, so they stop arguing and start looking like a desktop.

Omarchy pieceOn the MacWhat it gives you
Hyprland tilingAeroSpaceFocus, move, swap, resize, fullscreen, five workspaces, multi-monitor
WaybarSketchyBar, laid out like the v4 barWorkspaces, clock, weather, battery, wifi, audio, agents spend
Window bordersJankyBordersActive-window border in the theme colour
Keybindings and menusHammerspoon⌘⌥Space menu tree, ⌥K overlay, theme chooser
Themestheme script, synced from Omarchy's own templatesAll 22 v4 themes; terminal, editor, btop, bar and borders change together, light and dark follow the system
PromptStarshipSame prompt as Omarchy
Launcher, emoji, clipboardRaycast, free plan⌘Space, ⌘⌃E, ⌘⌃V
Agent multiplexer (herdr)herdr from Homebrew⌘⌃↩ opens a Ghostty with herdr; how the port went

Install it

One command. It installs Homebrew if you somehow do not have it, runs the Brewfile, links every config (anything already there gets a dated .bak, I am not a monster), loads the launchd agents, pulls the Omarchy themes, and starts the services.

curl -fsSL https://raw.githubusercontent.com/dividendsolo/omarchy4mac/main/install.sh | bash

macOS will ask you to grant Accessibility to Hammerspoon and AeroSpace. Say yes. It will ask twice. Say yes twice. Then ⌥K for the keybindings, ⌘⌥Space for the menu. Run the same script again to update. --dry-run tells you what it would touch without touching it, for the trust issues.

The repo is omarchy4mac, one card among the rest on the tools page.

The keybindings are on one page as a free PDF too: the cheat sheet. Every shortcut the install sets, printed once, for the days you forget what ⌥K does.

Update, 2026-11-12: a bar you can actually click

The install hides the macOS menu bar, and SketchyBar takes its place at the top of the screen. macOS, being helpful, slides its menu bar back down whenever your mouse reaches that edge, which is exactly where you go to click the bar. It covered SketchyBar and quietly took every click, so the workspace numbers and the rest of the bar looked fine and did nothing.

Now the bar sits on top of the menu bar instead of under it. Its buttons work, and the macOS menu bar is a faint shadow behind it. The trade-off is that you can't click an app's menu titles with the mouse anymore. ⌘⇧/ still searches every menu item from the keyboard, and Omarchy itself has no app menus at all, so you lose less than it sounds.

The fix came from @douglas and his pull request. Thanks, Douglas. If your bar still ignores you after you update, run sketchybar --reload or tell me in the comments.

Update, 2026-10-18: any music, and a fullscreen that knows its place

A reader sent a pull request full of good ideas, a few of them for his own Mac only. I took the ones Omarchy would take. Then I kept going.

The bar plays whatever you play. The music item used to be loyal to Spotify and nobody else. Now it reads macOS Now Playing through media-control, so YouTube Music in Brave, Pear, or anything else with a play button shows up. It looks like Omarchy 4's media widget: a pause icon while it plays, a play icon when it doesn't, "Title · Artist", and a next button. Click the title to play or pause, whichever app it is.

Fullscreen stays under the bar. Ctrl+Cmd+F used to hand the window to macOS native fullscreen, which parks it right on top of SketchyBar. Now it does what Alt+F does: the window fills the screen below the bar. The green window button still goes native. AeroSpace can't reach that button, and I've stopped asking.

Workspaces start in tiles. New windows open side by side, the way Omarchy 4's default layout does. Alt+A still gives you accordion when you want one window up front. After you update, restart AeroSpace once. A config reload leaves existing workspaces the way it found them.

The prompt is Omarchy's own. starship.toml is now Omarchy 4's file, copied as is. It paints in the terminal's palette, so it changes with every theme instead of staying Tokyo Night out of habit.

theme finishes what it starts. On the macOS system bash, a theme with no wallpaper stopped the switch halfway, and wallpapers never changed at all. Both are fixed. If a theme has no wallpaper, you get one line on screen saying the old one stays. Otherwise, it says nothing. As it should.

Every change ships with a test now, in tests/, and each test failed before its fix. Small thing. It's how this list got honest.

The fullscreen key and the first wallpaper fix came from @tylerkessler and his pull request. Thanks for that.

Update, 2026-10-13: a clean way back out

Trying a desktop setup is easy. Removing it is the part that usually takes an evening. Now it doesn't.

The first install saves what it is about to change. Before it touches anything, install.sh copies the settings theme rewrites in other apps: your Ghostty theme, btop colors, Neovim theme file, Claude Code theme, Obsidian theme, desktop picture, and .zshrc. They go in ~/.local/state/omarchy4mac/originals. Later runs leave that copy alone, so it always holds what you had before omarchy4mac.

uninstall.sh puts it all back. It stops the services, unloads the launchd agents, removes the config links and restores the files the installer moved aside, takes the line back out of .zshrc, and sets each app's theme back to what you had.

~/code/omarchy4mac/uninstall.sh --dry-run   # see first
~/code/omarchy4mac/uninstall.sh

--purge also deletes the clone, themes, wallpapers, and logs. --remove-packages also removes AeroSpace, Hammerspoon, SketchyBar, and borders. Ghostty, Neovim, and the other general tools stay, because you may use them without omarchy4mac.

The dry run got more useful too. install.sh --dry-run now lists the packages it would install, the files it would back up, the aliases it would override, and every app setting the first theme would change. It also works before you have a clone:

curl -fsSL https://raw.githubusercontent.com/dividendsolo/omarchy4mac/main/install.sh | bash -s -- --dry-run

This one came from a reader. Robert Castley wrote it and sent it as a pull request. Thanks, Robert.

What changed in the v4 port

Three weeks after the original port I put a number on it: 40% of the daily feel. Then DHH shipped Omarchy 4 and the number went down without me touching anything. I spent a day on it. The repo became omarchy4mac, tracking v4.0.2, with a changelog so I cannot quietly let it rot again.

Themes come straight from Omarchy's own templates. v4 rearranged the theme repo and started generating app configs from templates instead of shipping them by hand. Fine. theme --sync reads the new layout and renders through the same templates, so when Omarchy adds a theme, the Mac has it the same afternoon. The switch also recolors Claude Code and Obsidian now. It used to stop at the terminal, which is a strange place for a theme to give up.

The v4 menu. ⌘⌥Space opens the same tree Omarchy 4 does: Apps, Learn, Trigger, Style, Setup, Install, Update, System. Nested, searchable. ⌘Esc drops you straight into System, for the days when you know exactly what you're about to break.

The v4 bar. Logo on the left, opens the menu. Workspaces beside it. On the right: indicators, weather, a Homebrew updates badge, and an agents widget that shows what Claude Code cost you today. You did not ask for that number. You should look at it anyway. Every display gets its own bar.

Web apps as real windows. Omarchy binds a dozen sites to ⌘⇧ + letter as chromeless windows that tile like anything else. The port does the same with Brave: HEY mail and calendar, Google Photos, YouTube, Grok, Google Chat. Tabs are where web apps go to hide. These don't get to.

The screensaver. Omarchy 4 runs ttfx ASCII art after 150 seconds idle. So does the Mac now, one window per display, off a Hammerspoon idle timer. Yes, it is completely unnecessary. Yes, it is the first thing people ask about.

Shell defaults. The Omarchy 4 aliases and environment, eza, bat, fzf, zoxide, the git shorthands, as one file you source from .zshrc. One line, and your shell stops being a stranger.

Utility keys. Emoji picker, clipboard history, keep-awake with a bar indicator so you can see you left it on, lock, and a coding agent in a fresh terminal on ⌘⇧⌃A.

Bonus features

A few things the Mac does that Omarchy doesn't. Not because I'm clever. Because macOS handed them over and it would have been rude not to take them.

  • Auto re-theme on the light/dark flip. Flip macOS appearance and the whole desktop picks a random theme from the matching bucket. Light system, light theme. Dark system, dark theme. Terminal, editor, bar, btop, Claude Code, Obsidian, all at once. Hyprland has no system appearance to follow, so Omarchy can't do this. The Mac can. Small victories.
  • ⌥T shuffles within the bucket. Random theme, never the current one, never a dark theme on a light system. Nobody wants that surprise.
  • Theme reaches Claude Code and Obsidian. Omarchy stops at the terminal and the editor. I didn't.
  • Crash watchdog. AeroSpace can quit itself on macOS 26 without asking. A launchd agent brings it back, and it knows the difference between a crash and you closing it on purpose.
  • Gaming mode. One key quits every Dock app, drops Tailscale if you have it, and launches Steam. The reverse is a normal quit. I'm not going to pretend this was hard.

How close is an Omarchy Mac? The scorecard

71% of Omarchy v4.0.2, scored on the full 35-row table in the README. The table below groups the same items. ✅ we have it, or the Mac stand-in does the same job. ⚠️ partly there, with a plan. ❌ missing, nothing planned. Counts 1, half, and zero. Not a grading curve. The Mac does not get one.

Omarchy Quattro hasomarchy4mac usesomarchy4mac lacksPlan
✅Tiling, workspaces, monitorsAeroSpace
✅BarSketchyBar
✅BordersJankyBorders
✅22 themes from the v4 templatesall 22
✅Theme chooserHammerspoon
✅Menu treeHammerspoon
✅Keybinding overlayHammerspoon
✅Web apps as windowsBrave
✅Screensaver (ttfx)ttfx in Ghostty
✅Shell aliaseszsh file
✅Wallpaper per themescript + key
✅Emoji, clipboard, keep-awake, lock, agent keysAeroSpace binds
✅Screenshots, notificationsmacOS
✅Launcher (walker)Raycast (free plan)
✅Voice typingFluidVoice
✅One-command install and updateinstall.sh, rerun to update
✅Theme wallpapers auto-downloadtheme --sync
⚠️Theme in tmux, lazygit, VS Codetmux, lazygit, VS Codetmux when daily
⚠️Night light keynight light keyNight Shift via osascript
⚠️OCR captureLive Text by handone-key OCRVision script
⚠️Bar hide/show keythe keyone SketchyBar line
❌Theme colors on the volume/brightness indicator (the box when you press a volume key)theme colors on itno
❌Control panelsSystem Settings linkspanelsnone, Quickshell only
❌Themed lock screenmacOS lockthemed locknone, cannot restyle
❌Groups, pin, opacity, gap toggleall fournone, no AeroSpace hook
❌Scratchpadscratchpadfake with a workspace, if asked
❌Chromium live theminglive themingnone, needs their fork
❌Pluginspluginsnone, Quickshell only

The missing 30 percent is mostly Apple standing in the doorway with its arms folded, and no amount of config gets past that.

Want a setup like this, or a tool, built for you? See Work with me.

Dividend Solo
Written byDividend Solo

Running a one-person AI lab.
Now building ZeroPhase, Situation, and RepSheet.

Sunday Signal

One email, every Sunday morning: the real numbers from building one-person apps, and one lesson you can use, in under five minutes.

No spam. Unsubscribe anytime.