2023-09-09 13:36:21 +02:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
...
|
2023-09-09 14:57:55 +02:00
|
|
|
}: let
|
2023-09-24 12:39:28 +02:00
|
|
|
isEnabled = config.my.desktop.enableKde;
|
2023-09-09 13:36:21 +02:00
|
|
|
in {
|
2023-09-24 10:46:15 +02:00
|
|
|
options.my.desktop.enableKde = lib.mkEnableOption "KDE desktop";
|
|
|
|
|
2023-09-24 13:20:34 +02:00
|
|
|
config = lib.mkIf isEnabled {
|
|
|
|
my.desktop.enable = true;
|
2023-09-09 15:44:15 +02:00
|
|
|
|
2023-09-24 13:20:34 +02:00
|
|
|
services = {
|
|
|
|
# Enable the KDE Plasma Desktop Environment.
|
|
|
|
xserver = {
|
|
|
|
desktopManager.plasma5.enable = true;
|
2023-09-09 13:36:21 +02:00
|
|
|
|
2023-09-24 13:20:34 +02:00
|
|
|
displayManager = {
|
|
|
|
sddm.enable = true;
|
|
|
|
defaultSession = "plasmawayland";
|
2023-09-09 13:36:21 +02:00
|
|
|
};
|
|
|
|
};
|
2023-09-24 13:20:34 +02:00
|
|
|
};
|
2023-09-09 13:36:21 +02:00
|
|
|
|
2023-09-24 13:20:34 +02:00
|
|
|
environment = {
|
|
|
|
systemPackages = with pkgs; [
|
|
|
|
libsForQt5.kate
|
|
|
|
libsForQt5.kalk
|
|
|
|
];
|
2023-09-10 11:32:18 +02:00
|
|
|
|
2023-09-24 13:20:34 +02:00
|
|
|
plasma5.excludePackages = with pkgs.libsForQt5; [
|
|
|
|
elisa
|
|
|
|
gwenview
|
|
|
|
okular
|
|
|
|
khelpcenter
|
2023-09-10 11:32:18 +02:00
|
|
|
];
|
2023-09-24 13:20:34 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
programs = {
|
|
|
|
dconf.enable = true;
|
|
|
|
partition-manager.enable = true;
|
2023-09-24 15:27:13 +02:00
|
|
|
kdeconnect.enable = true;
|
2023-09-24 13:20:34 +02:00
|
|
|
};
|
|
|
|
};
|
2023-09-09 13:36:21 +02:00
|
|
|
}
|