nixos-config/modules/programs/plasma/default.nix

59 lines
1.3 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 = let
kdePackages = with pkgs.libsForQt5; [
okular
kdeconnect-kde
breeze-gtk
bismuth
gwenview
yakuake
];
packages = with pkgs; [
kde-rounded-corners
index-fm
rsibreak
kalendar
kate
# Some Gnome software
gnome.totem
];
in kdePackages ++ packages;
};
}