Configuration Highlights

Omarchy streamlines theming across core desktop applications by centralizing theme assets and automating their application. This section details how Omarchy configures Alacritty, Chromium, and GTK/icon themes, ensuring a cohesive look and feel that updates dynamically with your selected Omarchy theme.

Index


1. Initial Theme Setup

On first run, Omarchy populates your theme directories, applies a default theme, and sets GNOME interface defaults:

#!/bin/bash
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
gsettings set org.gnome.desktop.interface icon-theme "Yaru-blue"
# Link all shipped themes into ~/.config/omarchy/themes
mkdir -p ~/.config/omarchy/themes
for f in ~/.local/share/omarchy/themes/*; do
  ln -nfs "$f" ~/.config/omarchy/themes/
done
# Set initial theme to "tokyo-night"
mkdir -p ~/.config/omarchy/current
ln -snf ~/.config/omarchy/themes/tokyo-night ~/.config/omarchy/current/theme

All of the above lives in install/config/theme.sh .


2. Switching Themes: omarchy-theme-set

Omarchy provides bin/omarchy-theme-set to select and apply themes. It:

  1. Updates the ~/.config/omarchy/current/theme symlink.
  2. Applies GNOME dark/light modes and icon themes.
  3. Updates Chromium’s color scheme and theme color.
  4. Triggers an Alacritty reload and restarts key UI components.
#!/bin/bash
# Update theme symlink
ln -nsf "$THEME_PATH" "$CURRENT_THEME_DIR"

# GNOME dark/light & GTK theme
if [[ -f ~/.config/omarchy/current/theme/light.mode ]]; then
  gsettings set org.gnome.desktop.interface color-scheme "prefer-light"
  gsettings set org.gnome.desktop.interface gtk-theme "Adwaita"
else
  gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
  gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
fi

# Icon theme
if [[ -f ~/.config/omarchy/current/theme/icons.theme ]]; then
  gsettings set org.gnome.desktop.interface icon-theme "$(<~/.config/omarchy/current/theme/icons.theme)"
else
  gsettings set org.gnome.desktop.interface icon-theme "Yaru-blue"
fi

# Chromium colors & theme
if command -v chromium &>/dev/null; then
  # Light/dark scheme
  chromium --no-startup-window --set-color-scheme="$([[ -f ~/.config/omarchy/current/theme/light.mode ]] && echo light || echo dark)"
  # Theme color (RGB)
  chromium --no-startup-window --set-theme-color="${$(<~/.config/omarchy/current/theme/chromium.theme):-28,32,39}"
fi

# Reload Alacritty & restart services
touch "$HOME/.config/alacritty/alacritty.toml"
pkill -SIGUSR2 btop
omarchy-restart-waybar
omarchy-restart-swayosd
makoctl reload
hyprctl reload
omarchy-theme-bg-next

Excerpted from bin/omarchy-theme-set .


3. GTK & Icon Theming

Omarchy toggles GNOME’s color scheme, GTK theme, and icon theme based on your selected Omarchy theme:

  • Color Scheme: Sets prefer-light or prefer-dark via gsettings.
  • GTK Theme: Switches between Adwaita and Adwaita-dark.
  • Icon Theme: Reads icons.theme from your theme directory or falls back to Yaru-blue.
Setting Command
Color Scheme gsettings set org.gnome.desktop.interface color-scheme
GTK Theme gsettings set org.gnome.desktop.interface gtk-theme
Icon Theme gsettings set org.gnome.desktop.interface icon-theme

This logic runs in omarchy-theme-set after updating the theme symlink .


4. Chromium Theming

When Chromium is installed, Omarchy applies:

  1. Color Scheme (light or dark):
    chromium --no-startup-window --set-color-scheme="dark"
    
  2. Theme Color (RGB triplet):
    chromium --no-startup-window --set-theme-color="R,G,B"
    

These commands ensure your browser matches the system theme. They’re invoked by omarchy-theme-set .


5. Alacritty Theming

Alacritty imports the current Omarchy theme automatically. The user config includes:

# ~/.config/alacritty/alacritty.toml
general.import = [ "~/.config/omarchy/current/theme/alacritty.toml" ]

When the theme changes, Omarchy triggers a reload:

touch "$HOME/.config/alacritty/alacritty.toml"

Thus forcing Alacritty to re-read the new theme file .


6. Workflow Diagram

flowchart TD
  A[User selects theme] --> B[omarchy-theme-set]
  B --> C[Update symlink: ~/.config/omarchy/current/theme]
  C --> D[Apply GTK & icon theme via gsettings]
  C --> E[Set Chromium colors & scheme]
  C --> F[Touch Alacritty config to reload]
  C --> G[Restart UI components (Waybar, btop, etc.)]
  G --> H[New theme fully applied]

This diagram illustrates the end-to-end process triggered by omarchy-theme-set, ensuring unified theming across applications.