{ pkgs, lib, config, ... }: let cfg = config.snowhawk.theme; in { options.snowhawk.theme = { enable = lib.mkEnableOption "theme"; cursor = lib.mkOption { default = true; example = false; description = "enable home.pointerCursor theme"; type = lib.types.bool; }; }; config = lib.mkIf cfg.enable { gtk = { enable = true; theme = { package = pkgs.rose-pine-gtk-theme; name = "rose-pine"; }; iconTheme = { package = pkgs.rose-pine-icon-theme; name = "rose-pine-icons"; }; }; # Set system dark mode dconf.settings = { "org/freedesktop/appearance" = { color-scheme = 1; }; "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; }; }; home.pointerCursor = lib.mkIf cfg.cursor ( let getFrom = url: hash: name: { gtk.enable = true; x11.enable = true; name = name; size = 16; package = pkgs.runCommand "moveUp" { } '' mkdir -p $out/share/icons ln -s ${pkgs.fetchzip { url = url; hash = hash; }} $out/share/icons/${name} ''; }; in getFrom "https://github.com/rose-pine/cursor/releases/download/v1.1.0/BreezeX-RosePine-Linux.tar.xz" "sha256-t5xwAPGhuQUfGThedLsmtZEEp1Ljjo3Udhd5Ql3O67c=" "BreezeX-RosePine" ); }; }