From c60e66eadd930b78fbf8e522a268d87e95d99981 Mon Sep 17 00:00:00 2001 From: Daniel Langbein Date: Sun, 4 Feb 2024 15:02:24 +0100 Subject: [PATCH] add kde --- modules/kde.nix | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 modules/kde.nix diff --git a/modules/kde.nix b/modules/kde.nix new file mode 100644 index 0000000..0c379cf --- /dev/null +++ b/modules/kde.nix @@ -0,0 +1,54 @@ +{ 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 = { + layout = "de"; + xkbVariant = "nodeadkeys"; + }; + + # Enable Bluetooth support + # https://nixos.wiki/wiki/Bluetooth + hardware.bluetooth.enable = true; +}