{ config, lib, pkgs, ... }: let cfg = config.hm.env.themes; in { options.hm.env.themes = { enable = lib.mkEnableOption "enables global dark mode"; gtk.enable = lib.mkEnableOption "GTK theming"; qt.enable = lib.mkEnableOption "QT theming"; }; config = lib.mkMerge [ (lib.mkIf cfg.enable { dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-dark"; }) (lib.mkIf cfg.gtk.enable { gtk = { enable = true; gtk3.extraConfig.gtk-application-prefer-dark-theme = 1; gtk4.extraConfig.gtk-application-prefer-dark-theme = 1; theme = { name = "Adwaita-dark"; package = pkgs.gnome-themes-extra; }; }; }) (lib.mkIf cfg.qt.enable { qt = { enable = true; platformTheme.name = "gtk"; style.name = "adwaita-dark"; }; }) ]; }