Automatically updates your configuration files when your Omarchy theme changes.
This script watches your current Omarchy theme for changes and dynamically replaces color placeholders in your configuration files with the actual values from the theme.
- Watches
~/.config/omarchy/current/theme/for updates. - Replaces
${var_name}placeholders in your app configuration files with the corresponding values fromcolors.toml. - Copies the processed configuration files to the destination specified in each app’s
dirfile.
~/.config/omarchy/current/theme/ # Active theme folder
~/.config/omarchy-theme-sync/
└─ <app_name>/
├─ <config_files> # Files with ${var_name} placeholders
└─ dir # File containing the actual destination path
colors.tomlcontains the theme variables (e.g.,foreground = "#a9b1d6").- Each app folder in
~/.config/omarchy-theme-sync/must have adirfile specifying the destination path. - Placeholders like
${foreground}in the configuration files will be replaced with the actual values fromcolors.toml.
~/.config/omarchy-theme-sync/zen-cal/dir
$HOME/.config/zen-cal
~/.config/omarchy-theme-sync/zen-cal/zen-cal.conf
# Zen-Cal color configuration
today = ${selection_background}
today_text = ${selection_foreground}
headings = ${accent}
text = ${foreground}
weekends = ${color2}
- Run the installer
chmod +x ./install.sh
./install.shchmod +x ./uninstall.sh
./uninstall.sh- Detects the active color scheme (
catppuccin-lattefor light orcatppuccin-mochafor dark) ifcolors.tomlis missing. - Iterates over all subdirectories in the sync folder (
~/.config/omarchy-theme-sync/). - Uses a temporary directory for processing to avoid overwriting files during replacement.
- Recursively replaces all
${var_name}placeholders with values fromcolors.toml. - Moves the processed files to the existing destination directory specified in the
dirfile.
- Only directories with a
dirfile are processed. - If the destination path does not exist, the folder is skipped.
- Changes in the theme folder are automatically applied to your configurations in real-time.