52 lines
1.2 KiB
Nix
52 lines
1.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
cfg = config.ptw.programs.plasma;
|
|
in {
|
|
options.ptw.programs.plasma = {
|
|
enable = lib.mkEnableOption "Enable KDE Plasma";
|
|
mobile = {
|
|
enable = lib.mkEnableOption "Enable Plasma Mobile";
|
|
};
|
|
wayland = {
|
|
enable = lib.mkOption {
|
|
default = true;
|
|
description = "Ignore NixOS 'recommendations' and use the Wayland session by default";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
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";
|
|
};
|
|
|
|
xdg.portal = {
|
|
enable = true;
|
|
extraPortals = [ pkgs.xdg-desktop-portal-kde ];
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
#yakuake
|
|
libsForQt5.okular
|
|
libsForQt5.kdeconnect-kde
|
|
libsForQt5.breeze-gtk
|
|
libsForQt5.bismuth
|
|
#kde-rounded-corners
|
|
index-fm
|
|
#kasts-git
|
|
rsibreak
|
|
kalendar
|
|
kate
|
|
];
|
|
};
|
|
}
|