39 lines
1.2 KiB
Nix
Raw Normal View History

2024-06-27 20:17:07 +03:00
{ cfg }: { config, pkgs, lib, ... }: {
2024-06-19 15:16:43 +03:00
home-manager.users.${config.mainuser} = rec {
gtk = {
enable = true;
2024-06-27 20:17:07 +03:00
theme = let
gtkTweaks = lib.concatStringsSep "," cfg.tweaks;
in {
name = "catppuccin-${cfg.flavor}-${cfg.accent}-${cfg.size}+${gtkTweaks}";
2024-06-19 15:16:43 +03:00
package = pkgs.catppuccin-gtk.override {
inherit (cfg) tweaks;
accents = [ cfg.accent ];
variant = cfg.flavor;
};
};
iconTheme = {
name = "Papirus-${cfg.gtkTheme}";
package = pkgs.catppuccin-papirus-folders.override { inherit (cfg) accent flavor; };
};
font = {
name = cfg.thm.fonts.main.family;
size = cfg.thm.fontSizes.normal.int;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
home.sessionVariables.GTK_THEME = gtk.theme.name;
2024-06-27 20:17:07 +03:00
xdg.configFile = let
gtk4Dir = "${gtk.theme.package}/share/themes/${gtk.theme.name}/gtk-4.0";
in {
"gtk-4.0/assets".source = "${gtk4Dir}/assets";
"gtk-4.0/gtk.css".source = "${gtk4Dir}/gtk.css";
"gtk-4.0/gtk-dark.css".source = "${gtk4Dir}/gtk-dark.css";
};
2024-06-19 15:16:43 +03:00
};
}