Create and manage Omarchy desktop themes. Use when working with colors.toml, terminal themes (Alacritty/Kitty/Ghostty), Hyprland colors, Waybar styling, btop themes, or theme installation/removal.
Create themes for Omarchy by defining colors in colors.toml. Colors automatically propagate to all desktop applications.
Create colors.toml with all 22 required variables (see schema below)
Add wallpaper images to backgrounds/
Apply theme:
omarchy-theme-set my-theme
When creating or modifying Omarchy themes:
colors.toml - missing variables cause errors#RRGGBB) - no RGB, HSL, or named colorsbackgrounds/ directory with at least one wallpaper imagelight.mode file in theme directoryomarchy-theme-set after changesFor detailed variable usage per application, see reference.md.
~/.config/omarchy/themes/{theme-name}/
āāā colors.toml # [Required] 22 color definitions
āāā backgrounds/ # [Required] Wallpaper images (PNG/JPG)
āāā preview.png # [Recommended] Theme preview
āāā icons.theme # [Recommended] GTK icon theme name
āāā neovim.lua # [Recommended] LazyVim colorscheme
āāā vscode.json # [Recommended] VS Code theme metadata
āāā btop.theme # [Recommended] btop color theme
āāā light.mode # [Optional] Empty file = light theme
āāā chromium.theme # [Optional] Browser theme RGB
āāā hyprland.conf # [Optional] Static Hyprland override
color0 = "#45475a" # Black color1 = "#f38ba8" # Red (errors) color2 = "#a6e3a1" # Green (success) color3 = "#f9e2af" # Yellow (warnings) color4 = "#89b4fa" # Blue (links) color5 = "#f5c2e7" # Magenta (special) color6 = "#94e2d5" # Cyan (code) color7 = "#bac2de" # White (text)
color8 = "#585b70" # Bright Black (muted/disabled) color9 = "#f38ba8" # Bright Red color10 = "#a6e3a1" # Bright Green color11 = "#f9e2af" # Bright Yellow color12 = "#89b4fa" # Bright Blue color13 = "#f5c2e7" # Bright Magenta color14 = "#94e2d5" # Bright Cyan color15 = "#a6adc8" # Bright White
</schema>
## Template Variables
Each color supports 3 formats for different contexts:
| Format | Example | Output | Use Case |
|--------|---------|--------|----------|
| `{{ name }}` | `{{ accent }}` | `#89b4fa` | CSS, TOML |
| `{{ name_strip }}` | `{{ accent_strip }}` | `89b4fa` | Hyprland `rgb()` |
| `{{ name_rgb }}` | `{{ accent_rgb }}` | `137,180,250` | RGBA values |
## Examples
<example title="Dark Theme (Tokyo Night)">
```toml
accent = "#7aa2f7"
cursor = "#c0caf5"
foreground = "#a9b1d6"
background = "#1a1b26"
selection_foreground = "#c0caf5"
selection_background = "#7aa2f7"
color0 = "#32344a"
color1 = "#f7768e"
color2 = "#9ece6a"
color3 = "#e0af68"
color4 = "#7aa2f7"
color5 = "#ad8ee6"
color6 = "#449dab"
color7 = "#787c99"
color8 = "#444b6a"
color9 = "#ff7a93"
color10 = "#b9f27c"
color11 = "#ff9e64"
color12 = "#7da6ff"
color13 = "#bb9af7"
color14 = "#0db9d7"
color15 = "#acb0d0"
color0 = "#bcc0cc" color1 = "#d20f39" color2 = "#40a02b" color3 = "#df8e1d" color4 = "#1e66f5" color5 = "#ea76cb" color6 = "#179299" color7 = "#5c5f77" color8 = "#acb0be" color9 = "#d20f39" color10 = "#40a02b" color11 = "#df8e1d" color12 = "#1e66f5" color13 = "#ea76cb" color14 = "#179299" color15 = "#6c6f85"
</example>
<example title="neovim.lua">
```lua
return {
{ "folke/tokyonight.nvim", priority = 1000 },
{ "LazyVim/LazyVim", opts = { colorscheme = "tokyonight" } },
}
omarchy-theme-set my-theme # Apply theme
omarchy-theme-current # Show current theme
omarchy-theme-list # List available themes
omarchy-theme-install <git-url> # Install from git
omarchy-theme-remove my-theme # Remove theme
omarchy-theme-update # Update git themes
omarchy-theme-bg-next # Cycle wallpaper
App not themed:
yq errors:
sudo pacman -S yq