plasma: move to desktop
This commit is contained in:
132
modules/desktop/plasma.nix
Normal file
132
modules/desktop/plasma.nix
Normal file
@@ -0,0 +1,132 @@
|
||||
{ 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 {
|
||||
security.pam.services = {
|
||||
login.enableKwallet = true;
|
||||
greetd.enableKwallet = true;
|
||||
};
|
||||
services.xserver = {
|
||||
displayManager.sddm = {
|
||||
enable = true;
|
||||
autoNumlock = true;
|
||||
};
|
||||
desktopManager.plasma5 = {
|
||||
enable = true;
|
||||
runUsingSystemd = true;
|
||||
supportDDC = true;
|
||||
mobile.enable = cfg.mobile.enable;
|
||||
|
||||
kdeglobals = lib.mkIf cfg.mobile.enable {
|
||||
KDE = {
|
||||
StartDragDist = "10";
|
||||
LookAndFeelPackage = "org.kde.plasma.phone";
|
||||
};
|
||||
|
||||
Icons = {
|
||||
Theme = "breeze";
|
||||
};
|
||||
|
||||
General = {
|
||||
ColorScheme = "breeze";
|
||||
Name = "breeze";
|
||||
XftHintStyle = "none";
|
||||
XftSubPixel = "none";
|
||||
shadeSortColumn = "true";
|
||||
};
|
||||
};
|
||||
|
||||
kwinrc = {
|
||||
Plugins = {
|
||||
"org.kde.phone.multitaskingEnabled" = "false";
|
||||
"kwin4_effect_eyeonscreenEnabled" = "false";
|
||||
"kwin4_effect_windowapertureEnabled" = "false";
|
||||
blurEnabled = "false";
|
||||
contrastEnabled = "false";
|
||||
};
|
||||
|
||||
Windows = {
|
||||
Placement = "Maximizing";
|
||||
};
|
||||
|
||||
TabBox = {
|
||||
TouchBorderActive = "9";
|
||||
TouchBorderAlternativeActive = "9";
|
||||
BorderActivate = "9";
|
||||
};
|
||||
|
||||
"Effect-PresentWindows" = {
|
||||
BorderActivateAll = "9";
|
||||
};
|
||||
|
||||
"org.kde.kdecoration2" = {
|
||||
NoPlugin = "true";
|
||||
};
|
||||
|
||||
TouchEdges = {
|
||||
Left = "None";
|
||||
Right = "None";
|
||||
};
|
||||
|
||||
Wayland = {
|
||||
InputMethod = "${pkgs.maliit-keyboard}/usr/share/applications/com.github.maliit.keyboard.desktop";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# See https://github.com/NixOS/nixpkgs/commit/a506f9c79700255c215dddb53455d5e2bed6c1af
|
||||
displayManager = {
|
||||
defaultSession = lib.mkIf cfg.wayland.enable "plasmawayland";
|
||||
#sessionPackages = lib.mkIf cfg.mobile.enable [ pkgs.libsForQt5.plasma5.plasma-mobile ];
|
||||
};
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-kde ];
|
||||
};
|
||||
|
||||
environment.systemPackages = let
|
||||
plasmaMobilePackages = with pkgs.libsForQt5; with plasma5; with kdeApplications; with kdeFrameworks; [
|
||||
plasma-mobile
|
||||
plasma-nano
|
||||
pkgs.maliit-framework
|
||||
pkgs.maliit-keyboard
|
||||
];
|
||||
kdePackages = with pkgs.libsForQt5; [
|
||||
okular
|
||||
kdeconnect-kde
|
||||
breeze-gtk
|
||||
bismuth
|
||||
gwenview
|
||||
yakuake
|
||||
] ++ lib.optionals cfg.mobile.enable plasmaMobilePackages;
|
||||
packages = with pkgs; [
|
||||
#kde-rounded-corners
|
||||
index-fm
|
||||
rsibreak
|
||||
kalendar
|
||||
kate
|
||||
okular
|
||||
|
||||
# Some Gnome software
|
||||
gnome.totem
|
||||
];
|
||||
in kdePackages ++ packages;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user