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

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

    hotkeys.commands = {
      launch-konsole = {
        name = "Launch Konsole";
        key = "Meta+Enter";
        command = "konsole";
      };
    };

    configFile = {
      baloofilerc."Basic Settings"."Indexing-Enabled" = false;
      kscreenlockerrc.Greeter.Wallpaper."org.kde.image".General.Image = image;
      kscreenlockerrc.Greeter.Wallpaper."org.kde.image".General.PreviewImage = image;
    };
  } // cfg.extraConfig;

  home.activation.gtkCleanup = hm.dag.entryAfter [ "writeBoundary" ] ''
    $DRY_RUN_CMD rm -f $HOME/.gtkrc-2.0.old
  '';

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

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

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