GTK Themeing Not Working with home-manager

I set my GTK themes in home-manager, and I confirmed home-manager is actually doing something because it changes kitty. I am on hyprland. I tried making xdg file source it as well.

my home-manager:

{ config, pkgs, ... }:

{ 
  gtk = {
    enable = true;
    theme = {
      name = "Catppuccin-Macchiato-Pink-Dark";
      package = pkgs.catppuccin-gtk;#.override {
        #accents = [ "pink" ];
        #size = "standard";
        #tweaks = [ "rimless" "normal" "black" ];
        #variant = "frappe";
      #};
    };
    
    iconTheme = {
      package = pkgs.gnome.adwaita-icon-theme;
      name = "Adwaita";
    };
    
    gtk3.extraConfig = {
      Settings = ''
        gtk-application-prefer-dark-theme=1
      '';
    };

    gtk4.extraConfig = {
      Settings = ''
        gtk-application-prefer-dark-theme=1
      '';
    };
  };
    
  programs = {
    kitty = {
      enable = true;
      font = {
        name = "JetBrainsMono Nerd Font";
        size = 17;
      };

      settings = {
        confirm_os_window_close = -0;
      };

      theme = "Catppuccin-Frappe";
    };
  };
  
  home = {
    stateVersion = "23.11";
    username = "asynth";
    homeDirectory = "/home/asynth";
    packages = [

    ];
    file = {

    };
    sessionVariables = {
      GTK_THEME = "Catppuccin-Macchiato-Pink-Dark";
    # EDITOR = "emacs";
    };
  };
  
  # Let Home Manager install and manage itself.
  programs.home-manager.enable = true;

  xdg.configFile = {
    "gtk-4.0/assets".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/assets";
    "gtk-4.0/gtk.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk.css";
    "gtk-4.0/gtk-dark.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk-dark.css";
  };
}

I have also tried to remove the override settings on the GTK theme.
I am following the guide by my theme’s github page: GitHub - catppuccin/gtk: 🪟 Soothing pastel theme for GTK + the sessionvariable setting to try to brute force it to work

2 Likes

I’m having similar issues, any gtk themes I try to install I get an error that home manager service cannot restart (but I can’t find anything more detailed in journalctl).

I got it to work recently by switching to the module and flakes. I’m not sure why its working now but I think it has something to do with permissions as nixos-rebuild switch is run with sudo and also updates the home-manager config, giving it root permissions.