diff --git a/modules/style/theming.nix b/modules/style/theming.nix new file mode 100644 index 0000000..8402b8d --- /dev/null +++ b/modules/style/theming.nix @@ -0,0 +1,47 @@ +{ + config, + lib, + pkgs, + ... +}: let + inherit (lib.modules) mkMerge mkIf; + inherit (lib.options) mkEnableOption; + cfg = config.modules.usrEnv.theming; +in { + options.modules.usrEnv.theming = { + gtk.enable = mkEnableOption "gtk theming"; + qt.enable = mkEnableOption "qt theming"; + }; + config = mkMerge [ + (mkIf cfg.gtk.enable { + environment = { + systemPackages = builtins.attrValues { + inherit (pkgs) rose-pine-cursor; + }; + etc = { + "xdg/gtk-4.0/settings.ini".text = '' + [Settings] + gtk-application-prefer-dark-theme=true + gtk-cursor-theme-name=BreezeX-RosePine-Linux + ''; + + "xdg/gtk-3.0/settings.ini".text = '' + [Settings] + gtk-application-prefer-dark-theme=true + gtk-cursor-theme-name=BreezeX-RosePine-Linux + ''; + + "xdg/gtk-2.0/gtkrc".text = '' + gtk-cursor-theme-name = "BreezeX-RosePine-Linux" + gtk-cursor-theme-size = 30 + ''; + + "xdg/Xresources".text = '' + Xcursor.size: 30 + Xcursor.theme: BreezeX-RosePine-Linux + ''; + }; + }; + }) + ]; +}