One person's opinionated macOS desktop config: Omarchy-style theme switching for Ghostty, Zellij, Neovim, SketchyBar and JankyBorders, yabai tiling over native Spaces, hotkey discovery, and an on-device voice agent
翻译准备中
正在加载完整 README。
查看完整 README ↗Omarchy's desktop, on the MacBook you already own.
An Omarchy-style layer for macOS: one command restyles the terminal, multiplexer, editor, status bar, window borders and wallpaper, and windows tile over native Spaces. System Integrity Protection stays on.
macarchy is an independent project, not affiliated with or endorsed by Omarchy or the Omacom Foundation. Ported themes are used under Omarchy's MIT licence; see NOTICE.
It started as one person's config and is built around the tools I use, but you do not have to take all of it. The installer asks which parts you want: just the themes, just the window manager, or any mix (see Components). Themes cover Ghostty, kitty, Alacritty, iTerm2, VS Code (and Cursor, VSCodium, Windsurf), Zed, Zellij and Neovim; see Scope. The reasoning is in Why macarchy exists.
| Area | What |
|---|---|
| Theming | theme-set <name> restyles your terminal (Ghostty, kitty, Alacritty, iTerm2), editor (VS Code and forks, Zed, Neovim), Zellij, SketchyBar, JankyBorders and the wallpaper together, skipping apps you don't have. docs/theme-system.md |
| Window management | yabai (tiling) + skhd (hotkeys) + SketchyBar (status bar) + JankyBorders (focus border), layered over native macOS Spaces, no SIP changes. The bar draws above the menu bar, auto-hidden or not; shift + alt - m swaps between the two. docs/window-management.md |
| Recovery | macarchy-doctor names the silent failures (secure keyboard entry killing skhd, a lost Accessibility grant after brew upgrade yabai, windows off every display, a stale border); shift + alt - r restarts yabai, borders, the bar and skhd; display changes and wake re-rescue windows on their own, and a notification names any app whose window will not come back (macarchy-rescue --relaunch reopens it). docs/window-management.md |
| Hotkey discovery | alt - / pops up a searchable which-key style list of every skhd binding; Enter runs it. Also lists Ghostty and Zellij keybinds when those configs exist |
| Theme picker | shift + alt - / pops up theme-pick, an fzf picker with truecolor swatches for all 22 themes, in a floating window of your terminal (MACARCHY_TERMINAL); Enter applies it |
| Raycast | a generated "Set Theme" script command |
| Workspace agent | ws: plain-English (or voice, alt - w) control of windows, Spaces, theme, wallpaper and terminal tabs via an on-device 14 MB model. docs/agent.md |
| Speech-to-text | Handy (offline, open-source; brew cask handy, installed by install.sh) transcribes for ws --voice. Its own hotkey, alt - space (hold to talk, tap to toggle), is configured inside Handy, not skhd. |
Themes live under home/.config/theme/themes/. 23 themes ship: all 22 of
Omarchy's, under the
same names and with the same backgrounds, brought over with
theme-port <name>, plus hollow, which is custom (Sleepy Hollow in
October: pumpkin, candle flame and a harvest-moon wallpaper). See
docs/omarchy-port.md. Light themes need
--allow-light and a manual check afterwards, because the SketchyBar and
border colour derivations assume a dark background. To make your own, run
theme-new <name>, edit its colors.sh, then theme-new --regen <name>.
5 of the 23 are light:
macarchy is opinionated on purpose. It is not a framework for every Mac setup, and it does not try to be.
What it themes:
MACARCHY_TERMINAL
names, WezTerm included.Each app is one hook script in home/.config/theme/hooks/. theme-set runs
them all, and a hook for an app you don't have exits without doing anything.
Your own hooks go in ~/.config/macarchy/hooks.d/.
What it does not do:
The hotkeys, the bar layout and the five-Space default are my preferences. Most of them are a config edit or a file away from being yours. Some are hard-coded.
Each part installs on its own. ./install.sh asks on the first run and
saves your answer as MACARCHY_COMPONENTS in ~/.config/macarchy/config.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗