A cross-platform material you and base16 color generation tool
(pronounced: mat-uh-gen)
Installation · Wiki · Themes
Themes
Templates for programs and websites
Description
Features
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) - Read More
- 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, conditionals, loops, filters, includes, arithmetic operations, escaping output.
- Can be used as a standalone templating engine. You can import custom json files or define and override them in the CLI.
Generate / Export Material You and base16 color palettes
- Generate a full Material You or base16 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 - Read More
- 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, lightness and choose the scheme type (light, dark, or custom variants)
- Fine-tune the generated palette to match your preference or application theme
Quick Start
Generate a color palette from an image:
matugen image path/to/wallpaper.jpg
Generate from a hex color:
matugen color hex "#ff0000"
View all options:
matugen --help
Other projects
- 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.
Supported platforms
- Windows
- Linux
- MacOS
- NetBSD
Installation
Cargo
Click to expand
cargo install matugen
Arch
Click to expand
AUR:
yay -S matugen-bin
Arch extra repo
sudo pacman -S matugen
NixOS
Click 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 https://github.com/InioX/matugen/issues/28
Option details can be found by reading the module. A search.nixos.org-like option viewer is planned.
NetBSD
Click to expand
pkgin install matugen
or, if you prefer to build it from source
cd /usr/pkgsrc/graphics/matugen
make install
Acknowledgements
- material-colors
- wallpaper.rs - Changing wallpaper for Windows
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.