diff --git a/roles/kde/plasma.nix b/roles/kde/plasma.nix index 329e2fa..cbcaa8c 100644 --- a/roles/kde/plasma.nix +++ b/roles/kde/plasma.nix @@ -85,36 +85,47 @@ in environment.systemPackages = [ breezeTint lookAndFeel plasmaDefaults ]; # Plasma configs should be on all users - home-manager.sharedModules = [{ - imports = [ flakeSelf.inputs.plasma-manager.homeManagerModules.plasma-manager ]; - gtk = { - enable = true; - cursorTheme = { package = pkgs.breeze-qt5; name = "breeze_cursors"; }; - iconTheme = { package = pkgs.breeze-icons; name = "breeze-dark"; }; - theme = { package = pkgs.breeze-gtk; name = "Breeze"; }; - # Gtk2 doesn't have a dark mode, so I just tell gtk 3 and 4 to use the dark variant - gtk3.extraConfig.gtk-application-prefer-dark-theme = true; - gtk4.extraConfig.gtk-application-prefer-dark-theme = true; - }; - programs.plasma = { - enable = true; - workspace.clickItemTo = "select"; - shortcuts = { - "kwin" = { - "Switch One Desktop to the Left" = [ "Meta+Ctrl+Left" ]; - "Switch One Desktop to the Right" = [ "Meta+Ctrl+Right" ]; - }; + home-manager.sharedModules = [ + ( + { config, ... }: + let gtk2rc = "${config.xdg.configHome}/gtk-2.0/gtkrc"; in + { + gtk.gtk2.configLocation = gtk2rc; + # Kde has an annoying habit of overwriting the gtk2 config file + home.file."${gtk2rc}".force = true; + } + ) + { + imports = [ flakeSelf.inputs.plasma-manager.homeManagerModules.plasma-manager ]; + gtk = { + enable = true; + cursorTheme = { package = pkgs.breeze-qt5; name = "breeze_cursors"; }; + iconTheme = { package = pkgs.breeze-icons; name = "breeze-dark"; }; + theme = { package = pkgs.breeze-gtk; name = "Breeze"; }; + # Gtk2 doesn't have a dark mode, so I just tell gtk 3 and 4 to use the dark variant + gtk3.extraConfig.gtk-application-prefer-dark-theme = true; + gtk4.extraConfig.gtk-application-prefer-dark-theme = true; }; - configFile = { - "kwinrc" = { - "Desktops" = { - "Number" = 2; - "Rows" = 1; + programs.plasma = { + enable = true; + workspace.clickItemTo = "select"; + shortcuts = { + "kwin" = { + "Switch One Desktop to the Left" = [ "Meta+Ctrl+Left" ]; + "Switch One Desktop to the Right" = [ "Meta+Ctrl+Right" ]; }; - "TabBox"."LayoutName" = "thumbnail_grid"; }; - "plasmanotifyrc"."Notifications"."NormalAlwaysOnTop" = true; + configFile = { + "kwinrc" = { + "Desktops" = { + "Number" = 2; + "Rows" = 1; + }; + "TabBox"."LayoutName" = "thumbnail_grid"; + }; + "plasmanotifyrc"."Notifications"."NormalAlwaysOnTop" = true; + }; }; - }; - }]; + } + ]; }