# Where Are Omarchy Theme Colors Defined? A Complete Guide to the Theming System

> Discover where Omarchy theme colors are defined within the `themes/<name>/colors.toml` files. Learn how these colors configure your shell, terminal, and UI.

- Repository: [Omacom/omarchy](https://github.com/omacom/omarchy)
- Tags: how-to-guide
- Published: 2026-09-04

---

**Omarchy theme colors are defined in `themes/<name>/colors.toml` files within the repository, which get staged to `~/.local/state/omarchy/current/theme/colors.toml` during activation and parsed by CLI utilities like `omarchy-theme-color` to configure the shell, terminal, and UI components.**

Omarchy uses a centralized TOML-based color system that separates palette definitions from template rendering. Understanding where these **Omarchy theme colors** live is essential for customizing your desktop environment or creating new themes. This guide examines the source code structure in the `omacom/omarchy` repository to map exactly how color values flow from definition files to runtime application.

## Core Color Definition Files

The master color definitions for every theme reside in the repository’s `themes/` directory. Each theme maintains its own [`colors.toml`](https://github.com/omacom/omarchy/blob/main/colors.toml) file that serves as the single source of truth for the entire palette.

Built-in themes follow the path structure `themes/<name>/colors.toml`. For example, the Nord theme’s palette is stored at [`themes/nord/colors.toml`](https://github.com/omacom/omarchy/blob/main/themes/nord/colors.toml). These files contain key-value pairs mapping semantic color names (like `accent`, `bg`, `fg`) to hex color codes.

When you activate a theme using `omarchy-theme-set <name>`, the system copies the selected theme’s [`colors.toml`](https://github.com/omacom/omarchy/blob/main/colors.toml) to `~/.local/state/omarchy/current/theme/colors.toml`. This staged file becomes the runtime reference for all color-dependent applications.

## CLI Tools for Color Resolution

Omarchy provides specialized scripts to query and manipulate color values without manually parsing TOML files.

### Querying Individual Colors

The `bin/omarchy-theme-color` utility reads the active theme’s staged [`colors.toml`](https://github.com/omacom/omarchy/blob/main/colors.toml) and returns specific values:

```bash

# Get the accent color with hash prefix

omarchy-theme-color accent

# Output: #7aa2f7

# Get raw hex value without hash

omarchy-theme-color --raw accent

# Output: 7aa2f7

# List all available color keys

omarchy-theme-color --all

```

This script is the primary interface for shell scripts and templates that need to resolve semantic color names to actual hex values at runtime.

### Template Rendering Pipeline

During theme activation, `bin/omarchy-theme-set-templates` processes all files in `default/themed/*.tpl` using values from the staged [`colors.toml`](https://github.com/omacom/omarchy/blob/main/colors.toml). It substitutes template placeholders with actual color codes to generate final configuration files for terminals, editors, and UI components.

You can preview a theme’s color ramp before applying it:

```bash
omarchy dev theme-preview tokyo-night

```

## Runtime Color Consumption

Once staged, the color palette is consumed by Omarchy’s shell components through QML singletons. The file `shell/Commons/Color.qml` acts as a runtime singleton that loads the active palette, making colors available to all UI elements via the `Color` and `Style` namespaces.

This architecture ensures that changing the theme updates the entire desktop environment consistently, from terminal emulators to native UI widgets.

## Legacy Theme Migration

For themes that predate the [`colors.toml`](https://github.com/omacom/omarchy/blob/main/colors.toml) standard, Omarchy includes a conversion utility. The script `bin/omarchy-theme-colors-from-alacritty` generates a [`colors.toml`](https://github.com/omacom/omarchy/blob/main/colors.toml) file from an existing [`alacritty.toml`](https://github.com/omacom/omarchy/blob/main/alacritty.toml), allowing legacy terminal color schemes to integrate with the modern Omarchy theming system.

To list all available built-in color definitions:

```bash
ls themes/*/colors.toml

```

## Summary

- **Omarchy theme colors** are defined in `themes/<name>/colors.toml` files within the repository root.
- Active themes are staged to `~/.local/state/omarchy/current/theme/colors.toml` for runtime access.
- The `omarchy-theme-color` CLI utility resolves semantic names to hex values.
- `bin/omarchy-theme-set-templates` renders `.tpl` files using the active palette during theme switching.
- `shell/Commons/Color.qml` provides QML singletons that consume the palette for UI rendering.
- Legacy Alacritty themes can be converted using `bin/omarchy-theme-colors-from-alacritty`.

## Frequently Asked Questions

### What file format does Omarchy use for theme colors?

Omarchy uses **TOML** files named [`colors.toml`](https://github.com/omacom/omarchy/blob/main/colors.toml) to store theme color definitions. Each file maps semantic keys (like `accent`, `bg`, `fg`) to hex color codes, providing a human-readable format that is easily parsed by both shell scripts and QML applications.

### How do I check the current theme's color values?

Use the `omarchy-theme-color` command-line utility. Run `omarchy-theme-color --all` to display every key-value pair in the active palette, or specify a key like `omarchy-theme-color accent` to retrieve a specific color value with its hex prefix.

### Where does Omarchy store the active theme after selection?

When you run `omarchy-theme-set <name>`, the system stages the selected theme’s files to `~/.local/state/omarchy/current/theme/colors.toml`. This location serves as the runtime source of truth for all applications and scripts querying the current color scheme.

### Can I convert existing Alacritty themes to Omarchy format?

Yes. Run `bin/omarchy-theme-colors-from-alacritty` against an existing [`alacritty.toml`](https://github.com/omacom/omarchy/blob/main/alacritty.toml) file to auto-generate a compatible [`colors.toml`](https://github.com/omacom/omarchy/blob/main/colors.toml). This utility bridges legacy terminal color definitions with Omarchy’s modern theming architecture, enabling migration without manual color extraction.