All customization happens in the generator templates, not in the generated output files. Both Matugen and Wallust read template files, substitute color tokens, and write the results to their configured output paths on every wallpaper change. Edits made to the template files persist across wallpaper changes; edits made directly to the generated output files do not.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Noro18/linux-ricing-dotfiles/llms.txt
Use this file to discover all available pages before exploring further.
Where to make changes
Use this table to find the right file for your goal:| Goal | What to edit |
|---|---|
| Change how colors are applied to Waybar | ~/.config/matugen/templates/ or ~/.config/wallust/templates/ |
| Change how colors are applied to Kitty | ~/.config/wallust/templates/ |
| Change Rofi color variable names | ~/.config/matugen/templates/ |
| Add a new component to the theming pipeline | Add a template in ~/.config/matugen/templates/ or ~/.config/wallust/templates/ |
Matugen templates
Matugen templates live in~/.config/matugen/templates/. Each file in that directory corresponds to one entry in ~/.config/matugen/config.toml. The current templates are:
| Template file | Renders to |
|---|---|
colors.css | ~/.config/waybar/colors.css |
rofi-colors.rasi | ~/.config/rofi/colors/colors-matugen.rasi |
colors-swaync.css | ~/.config/swaync/colors-swaync.css |
hyprland-colors.conf | ~/.config/hypr/colors/colors.conf |
kitty-colors.conf | ~/.config/kitty/colors/colors.conf |
btop.theme | ~/.config/btop/themes/matugen.theme |
starship-colors.toml | ~/.config/starship.toml |
gtk-colors.css | ~/.config/gtk-3.0/colors.css and ~/.config/gtk-4.0/colors.css |
{{colors.<token>.<variant>.<format>}} syntax. For example, the Waybar colors.css template maps the full palette with:
primary, secondary, surface, on_primary, on_secondary, tertiary, background, and on_background. Each token has default, light, and dark variants, and each variant exposes hex, rgb, and rgba formats.
Changes you make to a template file take effect on the next wallpaper change — you do not need to restart anything manually.
Wallust templates
Wallust templates live in~/.config/wallust/templates/. Each file maps to an entry in ~/.config/wallust/wallust.toml. The current templates are:
| Template file | Renders to |
|---|---|
waybar.css | ~/.config/waybar/colors-waybar.css |
waybar.css (reused) | ~/.config/swaync/colors.css |
kitty.conf | ~/.cache/wallust/colors-kitty.conf |
vscode.json | ~/.cache/wallust/colors.json |
vscode | ~/.cache/wallust/colors |
rofi-colors.rasi | ~/.config/rofi/colors/colors-wallust.rasi |
colors.sh | ~/.cache/wallust/colors.sh |
colors_neopywal.vim | ~/.cache/wallust/colors_neopywal.vim |
zen.json | ~/.cache/wal/colors.json (Zen browser via pywalfox) |
{{color0}} through {{color15}}, plus {{foreground}}, {{background}}, and {{cursor}}. For example, the Waybar template defines CSS variables like:
Template syntax differs between the two tools. Matugen uses semantic named
tokens with dot-notation:
{{colors.primary.default.hex}}. Wallust uses
numbered palette slots with braces: {{color0}}, {{foreground}}. Make sure
you are editing the right template for the tool you intend to modify.Adding a new component to the pipeline
To bring a new application into the theming pipeline, follow these steps:- Create a template file. Decide which tool’s palette suits your component — use Matugen if you want semantic Material You tokens, or Wallust if you want a 16-color terminal palette. Create the template file in the appropriate templates directory and reference the color tokens you need.
-
Register the template. Add an entry to the tool’s config file so it knows where to read the template from and where to write the output:
For Matugen, add a block to
~/.config/matugen/config.toml:For Wallust, add a line to the[templates]section of~/.config/wallust/wallust.toml: -
Add a reload step to
wallset-backend. Open~/.local/bin/wallset-backendand add the command that signals your component to reload its config. If it reloads via a signal or a CLI command, add that line after the existingmatugenandwallustcalls.
VS Code / Cursor integration
Wallust generates~/.cache/wallust/colors.json on every wallpaper change. Both VS Code and Cursor can consume this file automatically:
- Open VS Code and install the Wallust extension from the marketplace.
- Do the same in Cursor.
- No additional configuration is needed — the extension reads
~/.cache/wallust/colors.jsonand applies the generated color scheme whenever the file changes.
Pywal integration
The~/.config/wal/templates/ directory contains a cava-config template, which is used by the pywal_cava script called at the end of wallset-backend and wallset-backend-startup. This keeps the Cava audio visualizer in sync with the current wallpaper palette. If you use Cava, make sure pywal_cava is available in your $PATH. To customize Cava’s colors, edit ~/.config/wal/templates/cava-config using pywal’s {color0}–{color15} token syntax.