Skip to main content

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.

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.

Where to make changes

Use this table to find the right file for your goal:
GoalWhat 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 pipelineAdd 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 fileRenders 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
Inside each template, you reference Material You tokens using {{colors.<token>.<variant>.<format>}} syntax. For example, the Waybar colors.css template maps the full palette with:
@define-color background-matugen {{colors.background.default.rgba}};
<* for name, value in colors *>
@define-color {{name}} {{value.default.rgba}};
<* endfor *>
Common token names include 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 fileRenders 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)
Wallust templates use a 16-color palette. The available tokens are {{color0}} through {{color15}}, plus {{foreground}}, {{background}}, and {{cursor}}. For example, the Waybar template defines CSS variables like:
@define-color background {{background}};
@define-color foreground {{foreground}};
@define-color color0  {{color0}};
@define-color color1  {{color1}};
/* ... */
@define-color color15 {{color15}};
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:
  1. 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.
  2. 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:
    [templates.my-component]
    input_path  = '~/.config/matugen/templates/my-component-colors.conf'
    output_path = '~/.config/my-component/colors.conf'
    
    For Wallust, add a line to the [templates] section of ~/.config/wallust/wallust.toml:
    my-component = { src = 'my-component.conf', dst = '~/.config/my-component/colors.conf' }
    
  3. Add a reload step to wallset-backend. Open ~/.local/bin/wallset-backend and 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 existing matugen and wallust calls.

VS Code / Cursor integration

Wallust generates ~/.cache/wallust/colors.json on every wallpaper change. Both VS Code and Cursor can consume this file automatically:
  1. Open VS Code and install the Wallust extension from the marketplace.
  2. Do the same in Cursor.
  3. No additional configuration is needed — the extension reads ~/.cache/wallust/colors.json and 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.

Build docs developers (and LLMs) love