Desktop theming is driven entirely by omarchy. The active theme lives under
~/.config/omarchy/current/theme/, and each app reads its palette from there:
waybar, walker, mako, btop, hyprland, hyprlock, and the terminals ghostty, kitty,
rio.
omarchy-theme-set <name> renders every template in
common/omarchy/default/themed/*.tpl — substituting the theme's colors.toml
values ({{ background }}, {{ color0 }}, …) — into
~/.config/omarchy/current/theme/<file>. Each app then consumes its rendered
file:
- ghostty / kitty —
config-fileinclude ofcurrent/theme/{ghostty.conf,kitty.conf}. - rio —
theme = "omarchy"→~/.config/rio/themes/omarchy.toml(symlink tocurrent/theme/rio.toml). - hyprland —
sourcescurrent/theme/hyprland.conf(window borders, groupbar colors).
Fonts are set directly in each module — they are not part of the color theme.
common/omarchy/— Nix-side overrides layered on the upstream omarchy input: custombin/scripts,default/configs (includingthemed/*.tpl), theme-sethooks/, and themenu.shextension. Wired into~/.config/omarchyand~/.local/share/omarchy/defaultby the home-manager modulescommon/home-manager/eldios/programs/omarchy.nixandomarchy-runtime.nix.
Use the omarchy menu (theme submenu) or the CLI:
omarchy-theme-set <theme-name>The first-run seed theme is hyprland-fancy (see defaultTheme in
omarchy-runtime.nix).
High-impact overrides (rounding, opacity, blur, gaps, animations, shadow, waybar shape/position) are applied on top of the current theme:
omarchy-aesthetic-set <rounding|opacity|blur|animations|gaps|shadow|waybar|waybar_position> <value|default><key> default removes the override. Prefer the menu over editing state by hand.