InioX/matugen

[Question] How to use nixos module

PoSayDone opened this issue · 1 comments

Hi,
I've tried to figure out, how to use matugen home-manager module, but to no avail. I've created config file, with contents described below, and imported in my home.nix and it just don't work. Maybe I'm misunderstanding how to use it?

{inputs, ...}: {
  imports = [
    inputs.matugen.nixosModules.default
  ];

  programs.matugen = {
    enable = true;
    variant = "dark";
    jsonFormat = "hex";
    palette = "default";

    templates = {
      ags = {
        input_path = "./templates/ags.scss";
        output_path = "~/.config/ags/scss/colors.scss";
      };

      kittty = {
        input_path = "./templates/kitty.conf";
        output_path = "~/.config/kitty/colors.conf";
      };

      gtk = {
        input_path = "./templates/gtk.css";
        output_path = "~/.config/gtk-4.0/gtk.css";
      };

      hypr = {
        input_path = "./templates/hypr.conf";
        output_path = "~/.config/hypr/colors.conf";
      };

      yazi = {
        input_path = "./templates/yazi.toml";
        output_path = "~/.config/yazi/theme.toml";
      };
    };
  };
}
InioX commented

Hi, @PoSayDone !

If you want to symlink the files, you need to use home.file or home.configFile for that.

For example:

# home.configFile."<path>".source = "${config.programs.matugen.theme.files}/<template_output_path>";

home.configFile."gtk-4.0/gtk.css".source = "${config.programs.matugen.theme.files}/.config/gtk-4.0/gtk.css";

Hope this helps!