{ pkgs
, lib
, config
, ... }: with lib; let
  cfg = config.passthrough.plasma;
in mkIf cfg.enable {
  programs.plasma = {
    # https://github.com/pjones/plasma-manager
    enable = true;
    overrideConfig = true;

    workspace = {
      lookAndFeel = "org.kde.breezedark.desktop";
    };

    configFile = {
      baloofilerc."Basic Settings"."Indexing-Enabled" = false;
    };
  } // cfg.extraConfig;

  qt.enable = false;
  qt.platformTheme.name = null;

  # cursor theme
  home.pointerCursor = {
    package = pkgs.kdePackages.breeze;
    name = "breeze_cursors";
    size = 24;
  };

  # gtk theme
  gtk.theme = {
    package = pkgs.kdePackages.breeze-gtk;
    name = "Breeze-Dark";
  };

  # gtk icons
  gtk.iconTheme = {
    package = pkgs.kdePackages.breeze-icons;
    name = "breeze-dark";
  };
}