---
title: Omarchy & Hyprland
description: Stowed Omarchy Quattro customisations and host overrides.
sidebar:
  label: Overview
  order: 1
---

These dotfiles run on [Omarchy](https://omarchy.org). UWSM, [Hyprland](https://hyprland.org), and Ghostty customisations are stowed dotfiles packages, with per-host overrides where needed.

<CardGroup cols={2}>
  <Card title="Host Overrides" href="/omarchy/host-overrides/">Managed Omarchy repos and stowed host config.</Card>
  <Card title="Shell (Quickshell)" href="/omarchy/shell/">The Omarchy 4 Quickshell bar, generated shell.json, and custom plugins.</Card>
  <Card title="Controls" href="/omarchy/controls/">The dot omarchy desktop controls menu.</Card>
</CardGroup>

## UWSM

Omarchy Quattro owns its UWSM bootstrap and session defaults under `/usr/share`. The `uwsm/.config/uwsm/env.d/90-dotfiles` package adds only the user environment values needed by these dotfiles. `dot stow` removes the retired `timmo001/omarchy-uwsm` checkout before linking that override; upgrade-generated preservation files and backups are not imported.

## Hyprland

Hyprland config is **not** a tracked Omarchy repo. It is a stowed dotfiles package (`hypr/.config/hypr/`) laid down with `--no-folding`, with host-specific Lua overrides selected by a runtime symlink. See [Host Overrides](/omarchy/host-overrides/).

Shared application floating rules generated by [`float-app`](https://github.com/timmo001/float-app) live in the stowed `~/.config/hypr/float-app.lua`. `looknfeel.lua` requires that module, so new rules remain part of the Hypr package rather than becoming unmanaged live config.

`SUPER+W` uses Hyprland's normal close-window action.

## Ghostty

Ghostty config is also stowed from `ghostty/.config/ghostty/`. The stowed launcher loads `config.$OMARCHY_HOST` when a host override exists.

Terminal bells mark the Ghostty tab title without requesting focus, so notifications do not switch Hyprland workspaces.

## Shell

Omarchy 4 runs a single [Quickshell](https://quickshell.outfoxxed.me) process (`omarchy-shell`) for the bar, notifications, OSD, launcher, and settings. These dotfiles extend it through a generated `shell.json` and a few custom bar plugins rather than forking it. See [Shell (Quickshell)](/omarchy/shell/).

## Herdr

`dot update` restores the Herdr Lazy lockfile, links the stowed local Herdr plugins, and starts the title watcher.

Agent Usage and GitHub PR status are tracked through the same Herdr Lazy list and lockfile. The Agent sidebar prioritises agents needing attention and shows the workspace-aware title and current branch PR status, billing provider and shortest limit window, then context usage. `ALT+X`, then `SHIFT+UP` / `SHIFT+DOWN` selects the previous or next agent, while `ALT+1` through `ALT+9` selects one by index. `ALT+X`, then `U` opens the full limits pane; `ALT+X`, then `SHIFT+U` refreshes the meters. Browser-cookie import is disabled in the managed Herdr server environment, so OpenCode Go uses local estimates unless an explicit cookie is supplied outside this public repository. Agent Usage notifications are disabled by default and no credentials are stored in dotfiles.

The local Mise Task Runner opens with `ALT+X`, then `SHIFT+M`. It lists local tasks from the focused pane's directory, previews the selected task, and runs it in a focused new tab so its output remains available. The memex session palette opens with `ALT+X`, then `F`.

Ghostty's normal tab shortcuts are redirected to Herdr while its client window is active: `CTRL+SHIFT+T` creates a tab in the current workspace, `CTRL+SHIFT+W` closes the current tab, and `CTRL+TAB` / `CTRL+SHIFT+TAB` select the next or previous tab. Other applications receive the original key event unchanged. New tabs skip the naming prompt, the tab bar stays hidden until another tab exists, and pane scrollbars stay hidden. The local Terminal Title plugin mirrors each pane's existing Zsh or application title into its Herdr tab label. `SUPER+Q` and `SUPER+SHIFT+Q` attach another client to the shared default session. `ALT+X`, then `R` opens the repository picker generated from private `dot-git.yml` repositories and shortcuts. For direct shell access, `SUPER+RETURN` opens Ghostty and `SUPER+SHIFT+T` opens a new Ghostty tab.

The stowed Omarchy `post-update.d` hook checks and applies the maintained crash-dispatch and plugin lifecycle patches after Omarchy replaces its packages and runs migrations. Quattro blocks direct system upgrades by default because they bypass this native update path. Interactive updates reuse normal `sudo` authentication; headless agent runs of the top-level `update` command route the same calls through its temporary `pkexec` helper.

The crash patch adds only an optional `~/.config/omarchy/hooks/agent-crash` handoff: a successful hook owns the diagnosis launch, while a missing or failed hook keeps Omarchy's stock agent window. The public hook reuses a Herdr workspace rooted at `~/`, or creates one when absent, then opens a focused crash tab with the default agent and confirms that the agent starts processing the prompt. Patch application stops when upstream context changes instead of forcing a stale patch.
