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
|
|
|
};
|
|
|
|
}
|