{ config, lib, pkgs, ... }: let cfg = config.szpont.hm.env.themes; in { options.szpont.hm.env.themes = { enable = lib.mkEnableOption "enables global theming"; gtk.enable = lib.mkEnableOption "GTK theming"; qt.enable = lib.mkEnableOption "QT theming"; }; config = lib.mkIf cfg.enable (lib.mkMerge [ (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; style.name = "adwaita-dark"; style.package = pkgs.adwaita-qt; platformTheme.name = "adwaita"; }; }) ]); }