{ config, lib, pkgs, ... }: with lib; let cfg = config.nixfiles.modules.kde; in { options.nixfiles.modules.kde.enable = mkEnableOption "KDE Plasma"; config = mkIf cfg.enable { nixfiles.modules = { common.xdg.defaultApplications."org.kde.dolphin" = ["inode/directory"]; gnupg.pinentry = "qt"; sound.enable = true; }; hm = { home.sessionVariables.GTK_USE_PORTAL = 1; programs.firefox.profiles.default.settings = { "widget.use-xdg-desktop-portal.file-picker" = 1; "widget.use-xdg-desktop-portal.mime-handler" = 1; }; }; services.xserver = { desktopManager.plasma6.enable = true; displayManager.sddm.enable = true; }; environment = { systemPackages = with pkgs; [pinentry-qt]; plasma6.excludePackages = with pkgs.kdePackages; [ elisa gwenview kate khelpcenter print-manager ]; }; }; }