Vibeleaderboard
Index / tool
Visit omarchy.org
Category
Developer Tools
Rank
Pricing
Open Source
Type
TOOL
Use case
Coding
Interfaces
Desktop · CLI
Latest release
v4.5.0-rc1
Date

About

An opinionated Linux distribution for development, with a configured desktop, terminal, Neovim, language runtimes, and Docker tooling. Its agent integration adds a default coding-agent launcher, subscription-usage panels, and agent-assisted crash diagnosis.

What it does

Omarchy turns an Arch Linux install into a fully set up Hyprland desktop, built and maintained by David Heinemeier Hansson. It ships as two Arch packages: one holds the commands, install scripts, themes and a Quickshell desktop bar, the other seeds default configs into every new user's home before that user exists. Nearly everything is a small shell command reachable through a single omarchy command, so updating, theming, capturing the screen or toggling features all go through one front door. A themed palette file drives generated configs for terminals, editors, the bar and the window manager at once.

Why it's ranked here

The update path is where the engineering shows. A normal update takes a Btrfs snapshot first when snapper is set up, refuses to start below 10 GiB free, asks for the sudo password once, runs per-user migrations after the package transaction, and deliberately drops that authorization before building community (AUR) packages, which run third-party build scripts. A raw pacman system upgrade is blocked by a package hook unless the user opts out explicitly. Themes cloned from a stranger's git repository have their code-bearing files stripped before activation. That is a distribution that has thought about how it breaks, under an MIT license.

What's good

The command router has no registry to maintain: every executable named with the omarchy prefix is a command, its filename is its route, and a comment header refines help text and aliases. A lint fails the test run on route collisions or a missing summary. The router also refuses to run a command when a help flag appears anywhere in its arguments, a fix written up after one such invocation started a real update. Tests stub system binaries and point home at a scratch directory, so they run on headless machines, and the desktop bar's logic is tested in Node without a compositor.

Tradeoffs

It is an opinionated Arch and Hyprland system, not a layer for an existing setup. Files it takes over from upstream Arch packages, such as the default shell profile and name-service config, are copied into place on every settings package upgrade, so user edits to them are overwritten; the project documents this. Resetting configs to shipped defaults is an explicit destructive command. The theme safety filter only applies to git clones: a theme unpacked by hand from an archive stages in full, and the docs say it is not a sandbox. The graphical acceptance tests need a disposable virtual machine and are excluded from the default test run.

How to use it well

Pick it if you want a keyboard-driven Linux workstation that arrives configured and you are happy on Arch. Run updates through its own update command rather than pacman so snapshots, migrations and restarts happen together, and keep personal themes, hooks and plugins in the user config folder so a dotfile manager can track them. Browse the command list with its built-in commands listing instead of reading scripts. For agent work the command groups include coding-agent usage data and an agent platform setup, but it is a desktop, not an agent framework; bring your own agent.

Technical notes+

bin/omarchy is a Bash router that scans at most 80 header lines per bin/omarchy-* file for omarchy:key=value metadata (group, name, summary, args, aliases, requires-sudo, hidden), registers a canonical and a filename route per binary, records collisions instead of failing, and treats a trailing --help or -h anywhere before -- as a help request (remaining_has_help_flag). docs/cli-router.md describes a fast path that probes hyphen-joined filenames before loading any metadata. docs/update-process.md documents the ALPM pre-transaction guard (00-omarchy-update-guard.hook plus omarchy-update-pacman-guard, bypassed with OMARCHY_ALLOW_DIRECT_PACMAN=1), pacman wrapped in systemd-run --scope so a systemd reexec cannot kill it, and per-user migration markers under ~/.local/state/omarchy/migrations/. docs/theming.md names INSTALLED_THEME_DENIED in bin/omarchy-theme-set, which drops .lua, terminal configs and the VS Code theme file from cloned themes. docs/file-layout.md maps the omarchy and omarchy-settings package split and the etc-overrides post_install copy. docs/testing.md covers ./test/all, ./test/cli and ./test/shell with a TAP-style base-test contract.

Observed

License
MIT (LICENSE, copyright David Heinemeier Hansson)
Language
Bash scripts, with a Quickshell (QML and JavaScript) desktop shell
Platform
Arch Linux with Hyprland; the manual has Mac support and dual boot chapters
Packaging
Two Arch packages, omarchy and omarchy-settings, with PKGBUILDs in a separate omarchy-pkgs repository
Interface
Single omarchy CLI routing to per-command executables, with --help and --json introspection
Tests
CLI and shell suites runnable headless; graphical acceptance suite runs in a disposable VM
Update safety
Package hook aborts direct pacman system upgrades unless explicitly bypassed

Read from README.md, LICENSE, docs/file-layout.md, docs/update-process.md, docs/theming.md, docs/testing.md, bin/omarchy, AGENTS.md, docs/cli-router.md.

Intel on Omarchy

More in Intel

Tags

developer-toolsai-agents

Tech Stack

Shell

Media

Omarchy

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.