{ config, lib, pkgs, ... }: with lib; let cfg = config.de3; in { options.de3.enable = mkEnableOption "Enable de3 system stuff"; config = mkIf cfg.enable { i18n.inputMethod = { enabled = "ibus"; ibus.engines = with pkgs.ibus-engines; [typing-booster uniemoji]; }; xdg.portal.enable = lib.mkDefault true; xdg.portal.extraPortals = with pkgs; [ xdg-desktop-portal-kde xdg-desktop-portal-gnome xdg-desktop-portal-gtk ]; services.xserver = { enable = lib.mkDefault true; displayManager.sddm.enable = lib.mkDefault true; desktopManager.plasma5.enable = lib.mkDefault true; }; services.pulseaudio.enable = false; services.power-profiles-daemon.enable = lib.mkDefault false; # for KDE connect networking.firewall.allowedTCPPortRanges = [ { from = 1714; to = 1764; } ]; networking.firewall.allowedUDPPortRanges = [ { from = 1714; to = 1764; } ]; }; }