A material you color generation tool
Find a file
2025-04-22 17:06:16 +02:00
.cargo feat: increase windows stack size to 8mb (fixes #87) 2024-07-01 10:09:46 +02:00
.github/workflows fix: remove dsa key 2024-11-07 19:07:20 +01:00
assets chore: update all tapes 2023-08-13 21:54:17 +02:00
benches chore: format code 2024-08-27 22:39:03 +02:00
example docs: add comments for config.toml 2025-03-31 16:48:33 +02:00
material-color-utilities-rs chore: release 2023-11-14 16:12:54 +00:00
src chore: update unix.rs 2025-04-22 23:24:43 +09:00
.gitignore chore: update gitignore 2023-12-20 20:10:32 +01:00
Cargo.lock feat(gui): add images tab 2025-03-23 16:53:49 +01:00
Cargo.toml feat(gui): save image folder and tab 2025-04-06 20:50:50 +02:00
CHANGELOG.md chore: release v2.4.1 2024-11-13 15:35:52 +01:00
default.nix fix(nix): add dump-json feature build flag 2024-08-27 14:13:24 +02:00
flake.lock fix(nix): add dump-json feature build flag 2024-08-27 14:13:24 +02:00
flake.nix fix: cargo fmt & alejandra (nix formatter) 2024-08-17 21:54:25 +02:00
LICENSE chore: add license 2023-05-06 16:17:23 +02:00
module.nix feat: add vibrant color scheme 2025-02-22 15:55:16 +01:00
README.md Update README.md 2024-12-04 17:14:22 +02:00
shell.nix fix: cargo fmt & alejandra (nix formatter) 2024-08-17 21:54:25 +02:00

A cross-platform material you color generation tool

Description

Features

  • Generate/Export Material You Color Palette:
    • Generate a Material You color palette either from an image or a color
    • Output the generated palette as JSON to stdout, or use keywords inside templates that get exported as files
  • Keyword Filters:
    • Use filters to change values of the keywords, like changing lightness for colors and manipulating strings with replace, to_upper, to_lower and set_lightness
  • Custom Keywords/Colors:
    • Define your own custom keywords or colors you would like to be harmonized inside the config file, that you can then use in templates
  • Palette Customization:
    • Customize the contrast and scheme type for the palette
  • Restart Apps/Change Wallpaper:
    • Restart supported apps and set the wallpaper on Windows, MacOS, Linux and NetBSD

If you would like to learn more about the features and configuration, read the wiki here.

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 AUR Version

Click to expand

Using your favourite AUR helper:

yay -S matugen-bin

NixOS nixpkgs NixOS Version

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

Themes

Templates

Acknowledgements