Omarchy config
Omarchy 4 replaced waybar with the Quickshell bar built into omarchy-shell.
shell.json is the whole bar config; it hot-reloads on save, and
install.sh deploys it to ~/.config/omarchy/shell.json.
Bar layout
Ported from the old waybar/config.jsonc, section for section:
| Old waybar module | shell.json widget |
|---|---|
custom/omarchy |
omarchy.menu |
hyprland/workspaces |
blob.workspaces (cloned plugin) |
clock |
blob.clock (custom module) |
custom/update |
omarchy.system-update |
custom/voxtype |
AGS quick settings -> Dictate tile |
custom/screenrecording-indicator |
AGS quick settings -> Record tile |
custom/idle-indicator |
AGS quick settings -> Stay Awake tile |
custom/notification-silencing-indicator |
AGS quick settings -> Silence tile |
group/tray-expander |
omarchy.tray |
bluetooth |
omarchy.bluetooth |
network |
omarchy.network |
pulseaudio |
omarchy.audio |
battery |
omarchy.power |
cpu |
blob.cpu (custom module) |
custom/notification |
blob.notifications (custom module) |
| (new in Omarchy 4) | omarchy.agents - AI agent usage |
| (new in Omarchy 4) | omarchy.monitor - brightness and display controls |
The bar carries no omarchy.indicators widget: those four toggles live in the
AGS quick settings panel instead, so the bar keeps only the clock and the
update indicator in its center. Add { "id": "omarchy.indicators" } back to
center to restore them (omit items for all six, which adds NightLight
and Reminder).
Custom modules
The bar accepts arbitrary ids with type: "command", which is how the two
AGS entry points survive the move off waybar:
blob.cpu- left opens btop, middle opens alacritty, right toggles the AGS system monitorblob.notifications- left toggles the AGS notification center, right toggles notification silencingblob.clock- left toggles AGS quick settings, middle opens the shell's own calendar panel, right opens the timezone selector.omarchy.clockhardcodes its click actions, so matching the old waybar behavior needs a command module andcenterAnchorpointed at it.
A command module with no exec key is a static icon; add exec and
interval for one that refreshes its own text.
Cloned plugins
plugins/blob.workspaces/ is a clone of omarchy.workspaces, made with
omarchy plugin clone. The stock widget hardcodes workspaces 1-5 as always
visible and has no setting for it, so the clone changes that list to 1-9 to
match the old waybar persistent-workspaces. Cloning also switches the bar
to the cloned id, which is why shell.json says blob.workspaces.
Re-clone after an Omarchy update if the upstream widget gains something worth
picking up: omarchy plugin clone omarchy.workspaces, then re-apply the
one-line workspaceIds() change.
Editing
Dragging widgets in the bar rewrites ~/.config/omarchy/shell.json directly.
That makes the live file diverge from this one, so after rearranging by hand,
copy it back:
cp ~/.config/omarchy/shell.json omarchy/shell.json
Run ./install.sh --check to see whether the two have drifted.
Not portable from waybar
- Bar height: fixed by the shell's style (26px horizontal, 28px vertical).
- Per-widget click actions on first-party widgets:
omarchy.networkandomarchy.bluetoothown their popups, so the old right-click-into-AGS bindings only exist on the custom modules above.