{ config, lib, pkgs, ... }: with lib; let cfg = config.mjallen.programs.hyprland; # Pull from global theme options themeSize = "standard"; # "standard" | "compact" themeAccent = "default"; # "default" | ... | "all" themeTweak = "normal"; # "normal" | "rimless" | "float" | "black" themeColor = "dark"; # "light" | "dark" iconThemeVariant = "default"; # "default" | ... | "all" iconScheme = "nord"; # "default" | "nord" | "dracula" | ... # GTK gtkTheme = "Colloid-dark-standard"; gtkThemePkg = pkgs.colloid-gtk-theme.override { sizeVariants = [ themeSize ]; colorVariants = [ themeColor ]; themeVariants = [ themeAccent ]; tweaks = [ themeTweak ]; }; # Icons iconTheme = "Colloid-nord-dark"; iconThemePkg = pkgs.colloid-icon-theme.override { schemeVariants = [ iconScheme ]; colorVariants = [ iconThemeVariant ]; }; in { config = mkIf cfg.enable { # dconf = { # enable = true; # settings = { # "org/gnome/desktop/interface".color-scheme = mkForce "prefer-dark"; # # "org/gnome/desktop/interface".cursor-theme = cursorTheme; # "org/gnome/desktop/interface".gtk-theme = gtkTheme; # "org/gnome/desktop/interface".icon-theme = iconTheme; # }; # }; # gtk = { # enable = true; # cursorTheme = { # name = cursorTheme; # package = cursorThemePkg; # }; # theme = { # name = gtkTheme; # package = gtkThemePkg; # }; # iconTheme = { # name = iconTheme; # package = iconThemePkg; # }; # gtk3.extraConfig = { # gtk-application-prefer-dark-theme = true; # }; # gtk4.extraConfig = { # gtk-application-prefer-dark-theme = true; # }; # }; }; }