{ 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 ''; }; }; }) ]; }