{ config, pkgs, ... }:
{
  # KDE desktop environment.
  # See also: gnome-base.nix
  # https://nixos.wiki/wiki/KDE

  # TODO: if including modules that enable dconf, KDE does not start. Maybe some conflicting configs in ~/ from GNOME? Create new (blank) user and try to log in with it.

  # TODO: Declarative KDE setting adjustments.
  #   - Plasma > Breeze Dark
  #   - Global theme > Breeze Dark
  #   - Touchpad > Invert scroll direction (natural scrolling)
  #   - Touchpad > Tap to click > unchecked
  #   - File search > Also index file content
  #   - On AC power > Button events handling > When laptop lid is closed > Do nothing
  #   - On AC power > Suspend session -> unchecked

  imports = [
    ./audio.nix
  ];

  # Enable the X11 windowing system.
  services.xserver.enable = true;

  # Enable the KDE desktop environment
  #services.xserver.displayManager.sddm.enable = true;
  services.xserver.displayManager.gdm.enable = true;
  services.xserver.desktopManager.plasma5.enable = true;

  # Don't install all programs of the KDE desktop.
#  environment.plasma5.excludePackages = with pkgs.libsForQt5; [
#    plasma-browser-integration
#    konsole
#    oxygen
#  ];

  # GNOME desktop integration.
  # Using the following example configuration, QT applications will have a look similar to the GNOME desktop, using a dark theme
  qt = {
    enable = true;
    platformTheme = "gnome";
    style = "adwaita-dark";
  };

  # Configure keymap in X11.
  services.xserver.xkb = {
    layout = "de";
    variant = "nodeadkeys";
  };

  # Enable Bluetooth support
  # https://nixos.wiki/wiki/Bluetooth
  hardware.bluetooth.enable = true;
}
