01. Overview & Architecture

Profile: v4.2.0
Schema validatedSource pinned
Purpose
Material You color generator with templates for your whole desktop.
Compatibility
Any distro (Server: BOTH)
Window Manager & Theme
Any WM / DE / Wallpaper-based

02. Installation & Deployment

Before you installThis changes your desktop configuration and installs packages. Run it as your normal user, never with sudo: it asks for sudo only where a step needs it (listed below).The guided installer shows its plan first. Files it would replace are kept unless you approve. Everything it copies, clones or appends to in your home folder is backed up and verified first, and --rollback restores it. Packages, sudo changes and the other commands listed under Impact are not undone.
IntegrityEach release from main builds the installers in GitHub Actions and signs them with a GitHub build attestation. Verify your download against the repository, not this website (Option B, step 2). If it does not verify, don't run it.
ImpactPackages: matugen
RecoveryGuided: backups in ~/.local/state/0xtsoa/backups/, undo with bash install.sh --rollback.Manual: the steps below only write in the download folder or run listed commands.
Option A: manual installAdvanced
Read the source at the reviewed commit, back up, then run each step yourself.
$git clone https://github.com/InioX/matugen ~/0xtsoa-review/iniox-matugen# 1. clone to a review folder
$git -C ~/0xtsoa-review/iniox-matugen checkout --detach 9f8c7fd583e44310a642772ff8f13b693949baf2# 2. the reviewed commit
Then the steps. Package commands are written for Arch; on other distros use your package manager.

Step-by-step deployment protocol

Step-by-step deployment
1Install matugen (Arch repos)
$sudo pacman -S --needed matugen
$# Other distros: see the upstream README
Option B: guided installerRecommended
The same steps as one script for any distro. It shows the plan first, keeps files you already have unless you approve replacing them, and backs up everything it changes in your home folder. Never pipe it into a shell.
$curl -fsSLo install.sh 'https://www.0xtsoa.dev/configs/iniox/matugen/install.sh'# 1. download
$gh attestation verify install.sh --repo nyharena25/0xTsoa --signer-workflow nyharena25/0xTsoa/.github/workflows/attest-installers.yml# 2. verify (GitHub CLI 2.49+, signed in)
$less install.sh# 3. read it
$bash install.sh --dry-run# 4. preview: changes nothing
$bash install.sh# 5. install (asks first)
$bash install.sh --rollback# undo the file changes
View script in browserOther options: --force (replace conflicts, backed up first), --yes, --help

03. Screenshot Gallery // matugen

Capture 01 // Fullscreen
matugen screenshot 1
01 / 09

04. Documentation & Guide

Source: InioX/matugenRef: 9f8c7fd583
README.md|GitHub Flavored Markdown



A cross-platform material you and base16 color generation tool
(pronounced: mat-uh-gen)

license version
downloads stars
Installation · Wiki · Themes

Donations through Ko-Fi are welcome!

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, and set_lightness
    • Includes built-in color filters for adjusting hue, saturation, lightness, opacity, and more
    • Filters can be chained together for powerful inline transformations
  • 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 Cargo Version
Click to expand
cargo install matugen

Arch Arch Linux package
Click to expand
AUR:
yay -S matugen-bin
Arch extra repo
sudo pacman -S matugen

NixOS nixpkgs
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 pkgsrc current package
Click to expand
pkgin install matugen

or, if you prefer to build it from source

cd /usr/pkgsrc/graphics/matugen
make install

Acknowledgements


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.

GitHub Flavored Markdown (github-markdown-css)README snapshot at 9f8c7fd583