KDE: Difference between revisions
m
→Plasma 6
imported>Kidsan m (fix: change displayManager.ssdm to displayManager.sddm) |
m (→Plasma 6) |
||
(33 intermediate revisions by 21 users not shown) | |||
Line 1: | Line 1: | ||
KDE Plasma is a desktop environment that aims to be simple by default, powerful when needed. | KDE Plasma is a desktop environment that aims to be simple by default, powerful when needed. | ||
== | == Installation == | ||
=== Plasma 5 === | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | |||
{ | |||
services.xserver.enable = true; | |||
services.xserver.displayManager.sddm.enable = true; | |||
services.xserver.desktopManager.plasma5.enable = true; | |||
} | |||
</nowiki>}} | |||
=== Plasma 6 === | |||
Available on the unstable channel. | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | |||
{ | |||
services.xserver.enable = true; | |||
services.displayManager.sddm.enable = true; | |||
services.displayManager.sddm.wayland.enable = true; | |||
services.desktopManager.plasma6.enable = true; | |||
} | |||
</nowiki>}} | |||
== Configuration == | |||
=== Rootless X11 === | |||
{{ic|sddm}} launches X11 as a root user by default. For better security, X11 should be run as a non-root user: | |||
<syntaxHighlight lang=nix> | <syntaxHighlight lang=nix> | ||
services.xserver.displayManager.sddm.settings.General.DisplayServer = "x11-user"; | |||
services.xserver.displayManager.sddm. | |||
</syntaxHighlight> | </syntaxHighlight> | ||
== Excluding | === Excluding applications from the default install === | ||
Some optional packages that are installed by default can be excluded if they are not needed. | |||
==== Plasma 5 ==== | |||
Optional packages: [https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/x11/desktop-managers/plasma5.nix#L275-L284 plasma5.nix] | |||
<syntaxHighlight lang=nix> | <syntaxHighlight lang=nix> | ||
environment.plasma5.excludePackages = with pkgs.libsForQt5; [ | |||
plasma-browser-integration | |||
konsole | |||
oxygen | oxygen | ||
]; | |||
</syntaxHighlight> | |||
==== Plasma 6 ==== | |||
Optional packages: [https://github.com/NixOS/nixpkgs/blob/ff0dbd94265ac470dda06a657d5fe49de93b4599/nixos/modules/services/desktop-managers/plasma6.nix#L153-L165 plasma6.nix] | |||
<syntaxHighlight lang=nix> | |||
environment.plasma6.excludePackages = with pkgs.kdePackages; [ | |||
plasma-browser-integration | |||
konsole | konsole | ||
elisa | |||
]; | ]; | ||
</syntaxHighlight> | </syntaxHighlight> | ||
== | === GNOME desktop integration === | ||
Using the following example configuration, QT applications will have a look similar to the [[GNOME]] desktop, using a dark theme. | |||
<syntaxHighlight lang=nix> | |||
qt = { | |||
enable = true; | |||
platformTheme = "gnome"; | |||
style = "adwaita-dark"; | |||
}; | |||
</syntaxHighlight> | |||
For other themes, you may need the packages <code>libsForQt5.qt5ct</code> and <code>libsForQt5.qtstyleplugin-kvantum</code> and a symlink from <code>~/.config/Kvantum/</code> to your theme package. Here is an example using Arc-Dark and [[Home Manager]]. In the Home Manager configuration: | |||
<syntaxHighlight lang=nix> | |||
qt = { | |||
enable = true; | |||
platformTheme = "qtct"; | |||
style.name = "kvantum"; | |||
}; | |||
xdg.configFile = { | |||
"Kvantum/ArcDark".source = "${pkgs.arc-kde-theme}/share/Kvantum/ArcDark"; | |||
"Kvantum/kvantum.kvconfig".text = "[General]\ntheme=ArcDark"; | |||
}; | |||
</syntaxHighlight> | |||
For more details, see [https://discourse.nixos.org/t/guide-to-installing-qt-theme/35523/2 this] forum post. | |||
=== Default Wayland/X11 session === | |||
==== Plasma 5 ==== | |||
Plasma 5 runs on X11 by default. To launch a Wayland session by default: | |||
<syntaxHighlight lang=nix> | |||
services.xserver.displayManager.defaultSession = "plasmawayland"; | |||
</syntaxHighlight> | |||
==== Plasma 6 ==== | |||
Plasma 6 runs on Wayland by default. To launch an X11 session by default: | |||
<syntaxHighlight lang=nix> | |||
services.xserver.displayManager.defaultSession = "plasmax11"; | |||
</syntaxHighlight> | |||
==== SDDM on Wayland ==== | |||
<syntaxHighlight lang=nix> | |||
services.xserver.displayManager.sddm.wayland.enable = true; | |||
</syntaxHighlight> | |||
== Troubleshooting == | |||
=== Qt/KDE applications segfault on start === | === Qt/KDE applications segfault on start === | ||
This is caused by a stale QML cache [https://github.com/NixOS/nixpkgs/issues/177720 (see this issue)]. A dirty way to fix this is by running on a terminal the following command: | This is caused by a stale QML cache [https://github.com/NixOS/nixpkgs/issues/177720 (see this issue)]. A dirty way to fix this is by running on a terminal the following command: | ||
Line 35: | Line 127: | ||
</syntaxHighlight> | </syntaxHighlight> | ||
=== GTK themes are not applied in Wayland applications === | === GTK themes are not applied in Wayland applications / Window Decorations missing / Cursor looks different === | ||
This affects GTK applications including Firefox and Thunderbird. | |||
Add to your configuration.nix the following line: | Add to your configuration.nix the following line: | ||
Line 41: | Line 135: | ||
programs.dconf.enable = true; | programs.dconf.enable = true; | ||
</syntaxHighlight> | </syntaxHighlight> | ||
You might also need to set a GTK theme ''Breeze'' imitating the KDE theme with the same name in ''System Settings -> Application Style -->Configure GNOME/GTK Application Style''. | |||
[https://github.com/NixOS/nixpkgs/issues/180720 (See this issue)] | [https://github.com/NixOS/nixpkgs/issues/180720 (See this issue)] | ||
[[Category:Desktop | === KMail Renders Blank Messages === | ||
When you see the message <code>grantlee.template: "Plugin library 'kde_grantlee_plugin' not found."</code> and/or kmail does shows only empty message then add to your configuration.nix the following line: | |||
<syntaxHighlight lang=nix> | |||
environment.sessionVariables = { | |||
NIX_PROFILES = "${pkgs.lib.concatStringsSep " " (pkgs.lib.reverseList config.environment.profiles)}"; | |||
}; | |||
</syntaxHighlight> | |||
[https://github.com/NixOS/nixpkgs/issues/160599 (See this issue)] | |||
== Tips and tricks == | |||
=== Plasma-Manager === | |||
{{note| [https://github.com/pjones/plasma-manager Plasma-Manager] is not matured yet and unofficial community project}} | |||
By default, the Plasma configuration can be handled like on [https://wiki.archlinux.org/title/KDE traditional systems]. | |||
With [https://github.com/pjones/plasma-manager plasma-manager], it is possible to make Plasma configurations via nix by providing [https://github.com/nix-community/home-manager home-manager] modules. | |||
[[Category:Desktop environment]] | |||
[[Category:Applications]] | [[Category:Applications]] |