Aether uses a template system to generate configuration files for various applications. This guide lists the available variables you can use when creating or modifying templates in ~/.config/aether/custom/.
Variables are enclosed in curly braces, e.g., {background}.
The following color variables are available for use in templates:
| Variable | Description | Typical Use |
|---|---|---|
{background} |
Primary background color | Window backgrounds, panels |
{foreground} |
Primary text color | Main text content |
{black} |
Black (ANSI 0) | Normal black |
{red} |
Red (ANSI 1) | Errors, warnings |
{green} |
Green (ANSI 2) | Success, confirmations |
{yellow} |
Yellow (ANSI 3) | Warnings, highlights |
{blue} |
Blue (ANSI 4) | Info, links |
{magenta} |
Magenta (ANSI 5) | Constants, special elements |
{cyan} |
Cyan (ANSI 6) | Strings, secondary info |
{white} |
White (ANSI 7) | Regular text |
{bright_black} |
Bright Black (ANSI 8) | Comments, dimmed text |
{bright_red} |
Bright Red (ANSI 9) | Critical errors |
{bright_green} |
Bright Green (ANSI 10) | Emphasized success |
{bright_yellow} |
Bright Yellow (ANSI 11) | Important warnings |
{bright_blue} |
Bright Blue (ANSI 12) | Active links |
{bright_magenta} |
Bright Magenta (ANSI 13) | Focused elements |
{bright_cyan} |
Bright Cyan (ANSI 14) | Important data |
{bright_white} |
Bright White (ANSI 15) | Bold text, headings |
You can transform color values using modifiers appended to the variable name.
Output: #RRGGBB
Usage: {background}, {red}
Removes the # prefix.
Output: RRGGBB
Usage: {background.strip}, {red.strip}
Converts to comma-separated decimal RGB values.
Output: R, G, B (e.g., 255, 100, 50)
Usage: {background.rgb}, {red.rgb}
Converts to CSS rgba() format.
Default Alpha (1.0):
Output: rgba(R, G, B, 1)
Usage: {background.rgba}
Custom Alpha:
Output: rgba(R, G, B, 0.5)
Usage: {background.rgba:0.5}, {red.rgba:0.8}
Maps the color to the closest Ubuntu Yaru icon theme variant.
Output: Yaru, Yaru-blue, Yaru-red, etc.
Usage: {red.yaru}
| Variable | Description | Values |
|---|---|---|
{theme_type} |
The current theme mode | light or dark |
{wallpaper} |
Path to the generated wallpaper | Absolute file path |
Here is an example of a hypothetical config file using these variables:
[General]
# Use stripped hex for specific app format
base_color = {background.strip}
text_color = {foreground.strip}
[Highlight]
# Use RGB format
selection = {blue.rgb}
# Use RGBA with transparency
overlay = {black.rgba:0.8}
[Terminal]
# Standard hex values
black = {black}
red = {red}
green = {green}All custom templates go in ~/.config/aether/custom/.
~/.config/aether/custom/
├── hyprlock.conf # Override default templates
├── waybar.css
├── cava/ # Custom app with symlinking
│ ├── config.json
│ ├── theme.ini
│ └── post-apply.sh
└── another-app/
├── config.json
└── template.conf
To override a default template, simply place your version in ~/.config/aether/custom/:
mkdir -p ~/.config/aether/custom
# Copy and edit a template
cp /path/to/aether/templates/hyprlock.conf ~/.config/aether/custom/For apps not included in Aether, create a folder with config.json:
Each app folder must contain a config.json:
{
"template": "theme.ini",
"destination": "~/.config/cava/themes/aether"
}| Field | Required | Description |
|---|---|---|
template |
Yes | Filename of the template in this folder |
destination |
Yes | Target path for the symlink (supports ~) |
Optional script that runs after the symlink is created. Must be executable (chmod +x).
- Aether processes the template with color variables
- Writes the result to
~/.config/omarchy/themes/aether/{appname}-{template} - Creates a symlink from that file to your destination
- Runs
post-apply.shif it exists
~/.config/aether/custom/cava/config.json:
{
"template": "theme.ini",
"destination": "~/.config/cava/themes/aether"
}~/.config/aether/custom/cava/theme.ini:
[color]
background = 'default'
foreground = '{magenta}'
gradient = 1
gradient_color_1 = '{blue}'
gradient_color_2 = '{magenta}'
gradient_color_3 = '{cyan}'~/.config/aether/custom/cava/post-apply.sh:
#!/bin/bash
config_file="$HOME/.config/cava/config"
if [ ! -f "$config_file" ]; then
exit 0
fi
# Set theme = 'aether' in cava config
if ! grep -q "^theme = 'aether'" "$config_file"; then
sed -i "/^theme = /d" "$config_file"
sed -i "/^\[color\]/a theme = 'aether'" "$config_file"
fi
# Reload cava
pgrep -x cava && pkill -USR2 cavaThe examples/custom/ folder contains ready-to-use examples:
- demo.txt - Comprehensive example showing all variables and modifiers
- apps/cava/ - Complete custom app example with:
config.json- Template and destination configurationtheme.ini- Cava theme template with gradient colorspost-apply.sh- Script to set the theme in cava config and reload
To use the Cava example:
mkdir -p ~/.config/aether/custom
cp -r examples/custom/apps/* ~/.config/aether/custom/- omarchy-theme-hook - A clean solution to extend your Omarchy theme to other apps.