2021-11-15 22:28:01 +00:00
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
|
|
|
|
let
|
|
|
|
cfg = config.ptw.programs.plasma;
|
|
|
|
in {
|
|
|
|
options.ptw.programs.plasma = {
|
|
|
|
enable = lib.mkEnableOption "Enable KDE Plasma";
|
2022-03-21 14:24:57 +00:00
|
|
|
mobile = {
|
|
|
|
enable = lib.mkEnableOption "Enable Plasma Mobile";
|
|
|
|
};
|
|
|
|
wayland = {
|
|
|
|
enable = lib.mkOption {
|
|
|
|
default = true;
|
|
|
|
description = "Ignore NixOS 'recommendations' and use the Wayland session by default";
|
|
|
|
};
|
|
|
|
};
|
2021-11-15 22:28:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
config = lib.mkIf cfg.enable {
|
2022-03-21 14:24:57 +00:00
|
|
|
services.xserver = {
|
|
|
|
desktopManager.plasma5 = {
|
|
|
|
enable = true;
|
|
|
|
runUsingSystemd = true;
|
|
|
|
supportDDC = true;
|
|
|
|
mobile.enable = cfg.mobile.enable;
|
|
|
|
};
|
|
|
|
|
|
|
|
# See https://github.com/NixOS/nixpkgs/commit/a506f9c79700255c215dddb53455d5e2bed6c1af
|
|
|
|
displayManager.defaultSession = lib.mkIf cfg.wayland.enable "plasmawayland";
|
2021-11-15 22:28:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
xdg.portal = {
|
|
|
|
enable = true;
|
|
|
|
extraPortals = [ pkgs.xdg-desktop-portal-kde ];
|
|
|
|
};
|
|
|
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
2022-02-24 10:04:11 +00:00
|
|
|
#yakuake
|
2021-11-15 22:28:01 +00:00
|
|
|
libsForQt5.okular
|
|
|
|
libsForQt5.kdeconnect-kde
|
2021-12-06 20:50:40 +00:00
|
|
|
libsForQt5.breeze-gtk
|
2021-12-12 14:32:38 +00:00
|
|
|
libsForQt5.bismuth
|
2022-05-13 10:49:13 +00:00
|
|
|
kde-rounded-corners
|
2021-11-15 22:28:01 +00:00
|
|
|
index-fm
|
2021-12-06 12:39:37 +00:00
|
|
|
rsibreak
|
2021-12-08 16:47:35 +00:00
|
|
|
kalendar
|
2022-01-12 16:34:43 +00:00
|
|
|
kate
|
2021-11-15 22:28:01 +00:00
|
|
|
];
|
|
|
|
};
|
|
|
|
}
|