A cross-platform material you color generation tool
(pronounced: mat-uh-gen)
Installation · Wiki · Themes
Tip
If you would like to learn more about the features and configuration, read the wiki here.
-
Templating engine built with Chumsky (designed for colors)
- Custom engine focused on making color manipulation simple and efficient
- Import a color once in any format and automatically access all other formats (
hex,rgb,rgba,hsl, etc.) - Colors are parsed as real color objects, not strings, making filters faster and more reliable
- Supports piping, nested expressions, and can be used as a standalone templating engine
-
Generate / Export Material You color palettes
- Generate a full Material You palette from either an image or a single color
- Export the generated palette as JSON or reference palette keywords directly within templates
- Easily integrate palette values into config files, themes, or style templates
-
Keyword Filters
- Modify any keyword using filters such as
replace,to_upper,to_lower, andset_lightness - Includes built-in color filters for adjusting hue, saturation, lightness, opacity, and more
- Filters can be chained together for powerful inline transformations
- Modify any keyword using filters such as
-
Custom Keywords / Colors
- Import any JSON file (through CLI or config) and use its contents directly inside templates
- Imported colors receive full multi-format support, just like built-in palette colors
- Useful for adding custom theme data, config variables, or full color schemes
-
Palette Customization
- Adjust contrast levels and choose the scheme type (light, dark, or custom variants)
- Fine-tune the generated palette to match your preference or application theme
- Mitsugen - For gnome-shell, based on the old version of Matugen
- pywal - More color generation backends, default theme files.
- wpgtk - Like pywal, but with a gui and more features.
- Windows
- Linux
- MacOS
- NetBSD
Click to expand
cargo install matugenClick to expand
Using your favourite AUR helper:
yay -S matugen-binClick to expand
Add matugen to your flake inputs:
inputs = {
matugen = {
url = "github:/InioX/Matugen";
# If you need a specific version:
ref = "refs/tags/matugen-v0.10.0";
};
# ...
};Then you can add it to your packages:
let
system = "x86_64-linux";
in {
environment.systemPackages = with pkgs; [
# ...
inputs.matugen.packages.${system}.default
];
}This flake also provides a NixOS/Home Manager module, which can be imported by adding this in your configuration:
{pkgs, inputs, ...}: {
imports = [
inputs.matugen.nixosModules.default
];
# ...
}The module does NOT automatically symlink the files. For an example of using this module with Home Manager, see #28
Option details can be found by reading the module. A search.nixos.org-like option viewer is planned.
Click to expand
pkgin install matugenor, if you prefer to build it from source
cd /usr/pkgsrc/graphics/matugen
make install- material-colors
- wallpaper.rs - Changing wallpaper for Windows
