{ pkgs
, lib
, config
, ... }: with lib; let
  catppuccin = config.passthrough.catppuccin.enable;
in {
  config = mkIf config.passthrough.gui {
    # cursor theme
    home.pointerCursor = {
      package = mkDefault pkgs.bibata-cursors;
      name = mkDefault "Bibata-Modern-Classic";
      size = 24;
      x11.enable = true;
      gtk.enable = true;
    };

    # gtk theme
    gtk.theme = mkDefault {
      package = pkgs.whitesur-gtk-theme;
      name = "WhiteSur-Dark";
    };

    # gtk icons
    gtk.iconTheme = mkDefault {
      package = pkgs.papirus-icon-theme;
      name = "Papirus-Dark";
    };

    # unify qt theme
    qt.platformTheme.name = mkDefault "gtk";

    gtk.enable = mkDefault true;
    qt.enable = mkDefault true;
  };
}
