theming.md
831 tokens · o200k_base · 3,245 bytes
Source excerpt starting at line 1.# Themes, Backgrounds, and Fonts Read this before changing themes, backgrounds, fonts, or theme colors. ## Theme Commands ```bashomarchy theme list # Show available themesomarchy theme current # Show current themeomarchy theme set <name> # Apply theme ("Tokyo Night" and "tokyo-night" both work)omarchy theme bg next # Cycle backgroundomarchy theme install <url> # Install from git repo``` ## Making a New Theme 1. Create a directory under `~/.config/omarchy/themes`.2. See how an existing theme is done via `/usr/share/omarchy/themes/catppuccin`.3. Download a matching background (or several) from the internet and put them in `~/.config/omarchy/themes/<name-of-new-theme>/backgrounds/`.4. When done with the theme, run `omarchy theme set "Name of new theme"`. Additional user backgrounds for any theme (stock or custom) go in`~/.config/omarchy/backgrounds/<theme-slug>/`. ## What a Theme Installed From a Repo May Not Contain A theme the user wrote by hand in `~/.config/omarchy/themes` is unrestricted, asare Omarchy's own themes. From a theme cloned by `omarchy theme install`, Omarchydrops only what runs code: any `*.lua` (Hyprland requires a theme's`hyprland.lua` and `gum_env.lua` at login, Neovim loads `neovim.lua` at startup),the terminal configs `alacritty.toml`, `foot.ini`, `ghostty.conf` and`kitty.conf` (each names the program the terminal launches), and `vscode.json`(names a VS Code extension to install). Those are regenerated from `colors.toml`through `$OMARCHY_PATH/default/themed/*.tpl`, and named on stderr. Everything else a cloned theme ships is kept, including `btop.theme`,`chromium.theme`, `helix.toml`, `icons.theme`, `keyboard.rgb` and `shell.toml`.Omarchy tells a cloned theme from the user's own by the `.git` directory a cloneleaves behind. To change how Omarchy themes an app for every theme, write the template ratherthan the theme: `~/.config/omarchy/themed/<config-name>.tpl` overrides thebuilt-in one. See `docs/theming.md` in the Omarchy repo. ## Customizing a Stock Theme Never edit stock themes under `/usr/share/omarchy/themes/` — changes are loston update. Two safe options: Both write into `~/.config/omarchy/themes`, where a theme the user wrote isunrestricted — the list above applies only to a theme cloned from a repo. **Overlay (preferred for small tweaks):** create a user theme directory withthe SAME slug containing only the files you want to change. When the theme isapplied, the stock theme is copied first and your files win on top: ```bashmkdir -p ~/.config/omarchy/themes/catppuccincp /usr/share/omarchy/themes/catppuccin/colors.toml ~/.config/omarchy/themes/catppuccin/# Edit the copied colors.toml, then re-apply:omarchy theme set catppuccin``` **Fork:** copy the whole stock theme under a new name for a fully independentvariant: ```bashcp -r /usr/share/omarchy/themes/catppuccin ~/.config/omarchy/themes/catppuccin-custom# Edit ~/.config/omarchy/themes/catppuccin-custom/, then:omarchy theme set catppuccin-custom``` ## Fonts ```bashomarchy font list # Available fontsomarchy font current # Current fontomarchy font set <name> # Change font```
Referenced from SKILL.md
Source excerpt starting at line 45.- [`plugins.md`](plugins.md) - the Omarchy shell: bar layout, widgets, plugins, idle behavior- [`theming.md`](theming.md) - themes, backgrounds, and fonts- [`hooks.md`](hooks.md) - automation hooks that run on system events
Source excerpt starting at line 253.2. **Is it a config edit?** Edit in `~/.config/`, never `/usr/share/omarchy/`3. **Is it a theme customization?** Follow [`theming.md`](theming.md); create a NEW custom theme directory4. **Is it automation?** Follow [`hooks.md`](hooks.md); use `omarchy hook install` and the hook `.d` directories
Source excerpt starting at line 287.- "Clear all reminders" -> `omarchy reminder clear`- "Customize the catppuccin theme colors" -> Overlay: put an edited `colors.toml` in `~/.config/omarchy/themes/catppuccin/`, then re-apply the theme (see `theming.md`)- "Run a script every time I change themes" -> Install it with `omarchy hook install theme-set <script>`