21 releases (10 stable)

new 2.4.1 Nov 13, 2024
2.3.0 May 30, 2024
2.2.0 Mar 26, 2024
1.2.1 Dec 25, 2023
0.8.2 Jun 2, 2023

#390 in Command line utilities

Download history 125/week @ 2024-07-29 10/week @ 2024-08-05 10/week @ 2024-08-12 1/week @ 2024-08-19 21/week @ 2024-08-26 12/week @ 2024-09-09 24/week @ 2024-09-16 66/week @ 2024-09-23 7/week @ 2024-09-30 28/week @ 2024-10-07 26/week @ 2024-10-14 9/week @ 2024-10-21 70/week @ 2024-10-28 124/week @ 2024-11-04 161/week @ 2024-11-11

368 downloads per month

GPL-2.0 license

1.5MB
1.5K 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.

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

Dependencies

~15–29MB
~426K SLoC