- Alacritty
- Btop
- Cava
- Cosmic
- Dunst
- Fuzzel
- Ghostty
- GTK (3.0, 4.0)
- Helix
- Hyprland & Hyprlock
- Kitty
- Kvantum
- Mako
- MangoWC
- Micro
- Midnight Discord
- Neovim
- Niri
- Opencode
- Pywalfox
- Qt (qt5, qt6)
- Quickshell
- Rofi
- Spicetify Sleek (Spotify)
- Starship
- Sway
- Television
- Tmux
- Vivaldi
- Waybar
- WezTerm
- Wine
- Wlogout
- Yazi
- Zathura
- Zed
[config]
# ...
[templates.alacritty]
input_path = 'path/to/template'
output_path = '~/.config/alacritty/colors.toml'
# ...Then, add this line to your ~/.config/alacritty/alacritty.toml
import = ["colors.toml"][config]
# ...
[templates.btop]
input_path = 'path/to/template'
output_path = '~/.config/btop/themes/matugen.theme'
post_hook = 'pkill -USR2 btop'
# ...Then, choose matugen theme from btop settings.
[config]
# ...
[templates.cava]
input_path = '~/.config/matugen/templates/cava-colors.ini'
output_path = '~/.config/cava/themes/your-theme'
post_hook = 'pkill -USR1 cava'
# ...Then, update the theme variable theme = 'none' in the cava configuration file ~/.config/cava/config with the output_path filename:
theme = 'your-theme'[config]
# ...
[templates.cosmic]
input_path = './templates/cosmic_theme.ron'
output_path = '~/.config/matugen/themes/matugen_cosmic.theme.ron'
post_hook = "~/.config/matugen/templates/cosmic_postprocess.py ~/.config/matugen/themes/matugen_cosmic.theme.ron"
# ...Then, in Cosmic Settings app, under Desktop -> Appearance, click import and select the theme located at ~/.config/matugen/themes/matugen_cosmic.theme.ron It will build several config files derived from the matugen colors. Cosmic is new and still in development, so updates may break things throughout the beta. Opacity is not yet in the Cosmic gui, but you can set it in the matugen template file and the theme builder will apply it.
[config]
# ...
[templates.dunst]
input_path = 'path/to/template'
output_path = '~/.config/dunst/dunstrc'
post_hook = 'dunstctl reload'
# ...[config]
# ...
[templates.fuzzel]
input_path = 'path/to/template'
output_path = '~/.config/fuzzel/colors.ini'
# ...Then, add this line to the top of your ~/.config/fuzzel/fuzzel.ini file:
[main]
include = "~/.config/fuzzel/colors.ini"[config]
# ...
[templates.ghostty]
input_path = 'path/to/template'
output_path = '~/.config/ghostty/themes/Matugen'
post_hook = 'pkill -SIGUSR2 ghostty'
# ...Then, add this line to your ~/.config/ghostty/config:
theme = "Matugen" [config]
# ...
[templates.gtk3]
input_path = 'path/to/template'
output_path = '~/.config/gtk-3.0/colors.css'
post_hook = 'gsettings set org.gnome.desktop.interface gtk-theme ""; gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3-{{mode}}'
[templates.gtk4]
input_path = 'path/to/template'
output_path = '~/.config/gtk-4.0/colors.css'
# ...Then, add this line to the top of your ~/.config/gtk-3.0/gtk.css and ~/.config/gtk-4.0/gtk.css:
@import 'colors.css';[config]
# ...
[templates.helix]
input_path = 'path/to/template'
output_path = '~/.config/helix/themes/matugen.toml'
# ...Then, add this line to your ~/.config/helix/config.toml:
theme = "matugen"[config]
# ...
[templates.hyprland]
input_path = 'path/to/template'
output_path = '~/.config/hypr/colors.conf'
# ...Then, add this line to the top of your ~/.config/hypr/hyprland.conf and/or ~/.config/hypr/hyprlock.conf file:
source = colors.conf
[config]
# ...
[templates.kitty]
input_path = 'path/to/template'
output_path = '~/.config/kitty/themes/Matugen.conf'
post_hook = "kitty +kitten themes --reload-in=all Matugen"
# ...Then, you just need to apply the theme once. Run kitten themes and select Matugen under the User section, finally just set it to update your kitty.conf.
[config]
# ...
[templates.kvantum_kvconfig]
input_path = './templates/kvantum-colors.kvconfig'
output_path = '~/.config/Kvantum/matugen/matugen.kvconfig'
[templates.kvantum_svg]
input_path = './templates/kvantum-colors.svg'
output_path = '~/.config/Kvantum/matugen/matugen.svg'
# ...Then, add the following in your ~/.config/Kvantum/kvantum.kvconfig file:
[General]
theme=matugen
[config]
# ...
[templates.mako]
input_path = 'path/to/template'
output_path = '~/.config/mako/mako-colors'
post_hook = 'makoctl reload'
# ...Then, add this line to the bottom of your ~/.config/mako/config file:
include=~/.config/mako/mako-colors[config]
# ...
[templates.mango]
input_path = 'path/to/template'
output_path = '~/.config/mango/colors.conf'
post_hook = 'mmsg -d reload_config'
# ...Then, add this line to your ~/.config/mango/config.conf file:
source=~/.config/mango/colors.conf
[config]
# ...
[templates.micro]
input_path = 'path/to/template'
output_path = '~/.config/micro/colorschemes/matugen.micro'
# ...Then, prss Ctrl+E in micro editor and enter set colorscheme matugen
[config]
# ...
[templates.vesktop]
input_path = 'path/to/template'
output_path = '~/.config/vesktop/themes/midnight-discord.css'Note
output_path may be different if you are using Flatpak version of Vesktop.
Then, activate the theme from vencord themes.
Styling Neovim with matugen is an involved process due to working with plugins and various highlight groups. For further info, see here.
[config]
# ...
[templates.niri]
input_path = 'path/to/templates/niri-colors.kdl'
output_path = '~/.config/niri/colors.kdl'
post_hook = 'niri msg action load-config-file'
# ...Then, update your ~/.config/niri/config.kdl file:
layout {
// other values
focus-ring{
off
}
background-color "transparent"
border {
width 3
}
shadow {} // border and shadow need to at least be initialized inorder to recieve the include values
}
include "./colors.kdl"[config]
# ...
[templates.opencode]
input_path = '~/.config/matugen/templates/opencode.json'
output_path = '~/.config/opencode/themes/matugen.json'
# ...In OpenCode use '/theme', select matugen, exit and restart the app. Since options are all loaded into memory at runtime, there is no on-the-fly changes to the theme.
[config]
# ...
[templates.pywalfox]
input_path = 'path/to/template'
output_path = '~/.cache/wal/colors.json'
post_hook = 'pywalfox update'
# ...Note
Add the Pywalfox plugin to firefox / thunderbird.
Dependencies: pywalfox
[config]
# ...
[templates.qt5ct]
input_path = 'path/to/template'
output_path = '~/.config/qt5ct/colors/matugen.conf'
[templates.qt6ct]
input_path = 'path/to/template'
output_path = '~/.config/qt6ct/colors/matugen.conf'
# ...Then, add these two lines to the top of your ~/.config/qt5ct/qt5ct.conf file:
[Appearance]
color_scheme_path=yourusername/.config/qt5ct/colors/matugen.conf
custom_palette=true
For another method, the output path needs to be ~/.local/share/color-schemes/ in order for qt*ct to be able to find the color sheme
[config]
# ...
[templates.color-scheme]
input_path = '~/.config/matugen/templates/Matugen.colors'
output_path = '~/.local/share/color-schemes/Matugen.colors'
# ...Then, pick a style you would like to use like kde or Darkly and ajust the code below, adding those lines to the top of ~/.config/qt5ct/qt5ct.conf and ~/.config/qt6ct/qt6ct.conf:
color_scheme_path=~/.local/share/color-schemes/Matugen.colors
custom_palette=true
icon_theme=breeze
style=<Breeze or Darkly>Finally, make sure you have this environment variable QT_QPA_PLATFORMTHEME set to qt6ct.
Note
for the theme to work you need to install the following
Arch Linux (AUR):
yay -S breeze-icons breeze-gtk qt6ct-kde qt5ct-kde
For a kde style look download the following packages (Arch):
pacman -S breeze breeze5
For a cleaner style download the following packages (Arch):
yay -S darkly-bin
[config]
# ...
[templates.quickshell]
input_path = 'path/to/template'
output_path = '~/.config/quickshell/Colors.qml'
# ...You can now add this to your quickshell shell.qml file
Colors{
id: colors
}You can then use colors anywhere in your config like this
color: colors.background[config]
# ...
[templates.rofi]
input_path = 'path/to/template'
output_path = '~/.config/rofi/colors.rasi'
# ...Then, add this line to the top of your ~/.config/rofi/config.rasi file:
@import "colors.rasi"You can now use all the color variables inside of the config.rasi, for example:
* {
background-color: @primary-container;
}[config]
# ...
[templates.spotify]
input_path = 'path/to/template'
output_path = '~/.config/spicetify/Themes/Sleek/color.ini'
post_hook = 'spicetify watch -s 2>&1 | sed "/Reloaded Spotify/q"'
# ...Then, add this line to your ~/.config/spicetify/config-xpui.ini file:
color_scheme = matugen
current_theme = SleekThen, download the Sleek theme from spicetify-thems github:
curl -L --create-dirs \
-o ~/.config/spicetify/Themes/Sleek/user.css \
https://raw.githubusercontent.com/spicetify/spicetify-themes/master/Sleek/user.cssNow, start spotify using spicetify command:
spicetify watch -sNote
spicetify watch -smight fails to start flatpak version of spotify. In that case uncomment thepost_hookand start spotify using following command:flatpak run com.spotify.Client --remote-debugging-port=9222 --remote-allow-origins='*'
[config]
# ...
[templates.starship]
input_path = 'path/to/template'
output_path = '~/.config/starship.toml'
# ...[config]
# ...
[templates.sway]
input_path = 'path/to/template'
output_path = '~/.config/sway/colors.conf'
post_hook = 'swaymsg reload'
# ...Then, add this line to your ~/.config/sway/config file:
include colors.conf
[config]
# ...
[templates.television]
input_path = 'templates/television.toml'
output_path = '~/.config/television/themes/matugen.toml'
# ...Then, add this line to the ui section of your ~/.config/television/config.toml file:
[ui]
theme = "matugen"[config]
# ...
[templates.tmux]
input_path = 'path/to/template'
output_path = '~/.config/tmux/generated.conf'
post_hook = 'tmux source-file ~/.config/tmux/generated.conf'
# ...-
Add a
tmux source-file <OUTPUT_PATH>line at the end of your~/.config/tmux/tmux.conf(entrypoint or adjacent) to source matugen's generated colors upon every startup oftmux. If you don't do this, then all new instances oftmuxwill be unstyled until matugen runs. -
Set reasonable defaults for all color variables set by matugen. Place these initial color definitions in your
~/.config/tmux/tmux.conf, but before you source matugen's generated file. This ensures thattmuxhas default colors to use in the case where matugen's generated file does not exist.
Example ~/.config/tmux/tmux.conf:
# Set color defaults
set -g status-bg "#130d07"
set -gq @thm_bar_bg "#130d07"
set -gq @thm_bg "#19120c"
set -gq @thm_fg "#eee0d5"
set -gq @thm_primary "#fcb974"
set -gq @thm_inverse_primary "#855318"
set -gq @thm_surface_low "#211a14"
set -gq @thm_surface "#261e18"
set -gq @thm_surface_variant "#302921"
set -gq @thm_outline "#50453a"
set -gq @thm_text_variant "#d5c3b5"
set -g status-style "bg=#{@thm_bg},fg=#{@thm_fg}"
set -g window-active-style "bg=#{@thm_bg},fg=#{@thm_fg}"
# Source matugen after setting defaults
source-file ~/.config/tmux/generated.conf
# Style whatever you wish with the imported colors
# ...
[config]
# ...
[templates.vivaldi]
input_path = 'path/to/template'
output_path = 'path/to/vivaldi_css/vivaldi.css'
# ...- In vivaldi://experiments, enable “Allow for using CSS modifications”.
- In Settings > Appearance > Custom UI Modifications, select the folder where you’ll store matugen vivaldi.css output. Note that you can store vivaldi.css anywhere in a separate folder.
[config]
# ...
[templates.waybar]
input_path = 'path/to/template'
output_path = '~/.config/waybar/colors.css'
post_hook = 'pkill -SIGUSR2 waybar'
# ...Then, add this line to the top of your ~/.config/waybar/style.css file:
@import "colors.css";You can now use all the color variables inside the file:
* {
background-color: @primary_container;
}[config]
# ...
[templates.wezterm]
input_path = 'path/to/template'
output_path = '~/.config/wezterm/colors/matugen_theme.toml'
post_hook = 'touch ~/.config/wezterm/wezterm.lua'
# ...Then, add these lines to your ~/.config/wezterm/wezterm.lua file:
local wezterm = require("wezterm")
local config = wezterm.config_builder()
config.color_scheme = "matugen_theme"[config]
# ...
[templates.wine]
input_path = 'path/to/template'
output_path = '/tmp/wine.reg'
post_hook = 'wine regedit /tmp/wine.reg'
# ...If you want to apply the theme to a specific Wine prefix, run:
WINEPREFIX=~/path/to/your/prefix matugen <your arguments>[config]
# ...
[templates.wlogout]
input_path = 'path/to/template'
output_path = '~/.config/wlogout/colors.css'
# ...Then, add this line to the top of your ~/.config/wlogout/style.css file:
@import "colors.css";You can now use all the color variables inside the file:
* {
background-color: @primary_container;
}[config]
# ...
[templates.yazi]
input_path = 'path/to/template'
output_path = '~/.config/yazi/theme.toml'
# ...[config]
# ...
[templates.zathura]
input_path = 'path/to/template'
output_path = '~/.config/zathura/zathurarc'
# ...Then, if transparency is needed just change the alpha value in:
set default-bg "{{colors.on_primary.default.rgba | set_alpha: 1.0}}"
set recolor-lightcolor "{{colors.on_primary.default.rgba | set_alpha: 1.0}}"
Finally, to change the font family and size just write it to (or use a {{custom}} filter on your matugen config.toml):
set font "FiraCode Nerd Font 12"
[config]
# ...
[templates.zed]
input_path = '~/.config/matugen/templates/zed-colors.json'
output_path = '~/.config/zed/themes/matugen.json'
# ...Then, choose Matugen Dark or Matugen Light theme from Zed settings.