18 releases (7 stable)

2.2.0 Mar 26, 2024
1.2.1 Dec 25, 2023
0.11.2 Dec 3, 2023
0.11.1 Nov 17, 2023
0.8.2 Jun 2, 2023

#67 in Command line utilities

Download history 23/week @ 2023-12-22 4/week @ 2023-12-29 7/week @ 2024-01-26 3/week @ 2024-02-02 2/week @ 2024-02-09 68/week @ 2024-02-16 126/week @ 2024-02-23 92/week @ 2024-03-01 79/week @ 2024-03-08 83/week @ 2024-03-15 163/week @ 2024-03-22 48/week @ 2024-03-29 16/week @ 2024-04-05

325 downloads per month

GPL-2.0 license

1.5MB
1K SLoC

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.

About Material Design 3

Material Design 3 offers a new color system that allows for more flexible and dynamic use of color. The new system includes a wider range of colors, as well as a range of tints and shades that can be used to create subtle variations in color.

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

Using your favourite AUR helper:

yay install 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

Dependencies

~27–44MB
~522K SLoC