{ pkgs, lib, ... }: {
  home.packages = with pkgs; [
    gruvterial-theme
    gruvbox-plus-icons
    libsForQt5.qt5ct
    kdePackages.qt6ct
  ];

  gtk = {
    enable = true;
    theme = {
      name = "Gruvterial-Dark";
      package = pkgs.gruvterial-theme;
    };
    iconTheme = {
      name = "Gruvbox-Plus-Dark";
      package = pkgs.gruvbox-plus-icons;
    };
  };

  qt = {
    enable = true;
    platformTheme.name = "qtct";
    style = {
      name = "kvantum";
      package = pkgs.kdePackages.qtstyleplugin-kvantum;
    };
  };

  xdg.configFile."kvantum/kvantum.kvconfig".text = ''
    [General]
    theme=KvDark
  '';

  xdg.configFile."qt5ct/qt5ct.conf".text = ''
    [Appearance]
    style=kvantum
    icon_theme=Gruvbox-Plus-Dark
    standard_dialogs=default
    custom_palette=false

    [Interface]
    menus_have_icons=true
    buttons_have_icons=true
    toolbutton_style=4
    activate_item_on_single_click=1
    underline_shortcut=1
  '';

  xdg.configFile."qt6ct/qt6ct.conf".text = ''
    [Appearance]
    style=kvantum
    icon_theme=Gruvbox-Plus-Dark
    standard_dialogs=default
    custom_palette=false

    [Interface]
    menus_have_icons=true
    buttons_have_icons=true
    toolbutton_style=4
    activate_item_on_single_click=1
    underline_shortcut=1
  '';

  home.sessionVariables.QT_QPA_PLATFORMTHEME = lib.mkForce "qt6ct";
}
