KDE: Difference between revisions
Add Tips and tricks section |
Copy edit and reorder sections |
||
Line 69: | Line 69: | ||
For more details, see [https://discourse.nixos.org/t/guide-to-installing-qt-theme/35523/2 this] forum post. | For more details, see [https://discourse.nixos.org/t/guide-to-installing-qt-theme/35523/2 this] forum post. | ||
=== Wayland/X11 session === | |||
==== Plasma 5 ==== | |||
Plasma 6 runs on X11 by default. To launch wayland: | |||
<syntaxHighlight lang=nix> | |||
services.xserver.displayManager.defaultSession = "plasmawayland"; | |||
</syntaxHighlight> | |||
==== Plasma 6 ==== | |||
Plasma 6 runs on Wayland by default. To launch X11: | |||
<syntaxHighlight lang=nix> | |||
services.xserver.displayManager.defaultSession = "plasmax11"; | |||
</syntaxHighlight> | |||
==== SDDM in Wayland ==== | |||
<syntaxHighlight lang=nix> | |||
services.xserver.displayManager.sddm.wayland.enable = true; | |||
</syntaxHighlight> | |||
== Troubleshooting == | == Troubleshooting == | ||
Line 104: | Line 127: | ||
[https://github.com/NixOS/nixpkgs/issues/160599 (See this issue)] | [https://github.com/NixOS/nixpkgs/issues/160599 (See this issue)] | ||
== Tips and tricks == | == Tips and tricks == |
Revision as of 13:28, 8 April 2024
KDE Plasma is a desktop environment that aims to be simple by default, powerful when needed.
Installation
To use KDE Plasma, add this to your configuration.nix:
services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;
Or if you want to use Plasma 6, available on nixpkgs-unstable:
services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
Excluding some KDE Plasma applications from the default install
Plasma 5
Not all applications that come pre-installed with the KDE Plasma desktop environment are desirable for everyone to have on their machines. There's a way to edit configuration.nix to exclude some optional packages, for example as follows:
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
plasma-browser-integration
konsole
oxygen
];
Plasma 6
environment.plasma6.excludePackages = with pkgs.kdePackages; [
plasma-browser-integration
konsole
oxygen
];
Configuration
GNOME desktop integration
Using the following example configuration, QT applications will have a look similar to the GNOME desktop, using a dark theme.
qt = {
enable = true;
platformTheme = "gnome";
style = "adwaita-dark";
};
For other themes, you may need the packages libsForQt5.qt5ct
and libsForQt5.qtstyleplugin-kvantum
and a symlink from ~/.config/Kvantum/
to your theme package. Here is an example using Arc-Dark and Home Manager. In the Home Manager configuration:
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";
};
For more details, see this forum post.
Wayland/X11 session
Plasma 5
Plasma 6 runs on X11 by default. To launch wayland:
services.xserver.displayManager.defaultSession = "plasmawayland";
Plasma 6
Plasma 6 runs on Wayland by default. To launch X11:
services.xserver.displayManager.defaultSession = "plasmax11";
SDDM in Wayland
services.xserver.displayManager.sddm.wayland.enable = true;
Troubleshooting
Qt/KDE applications segfault on start
This is caused by a stale QML cache (see this issue). A dirty way to fix this is by running on a terminal the following command:
find ${XDG_CACHE_HOME:-$HOME/.cache}/**/qmlcache -type f -delete
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:
programs.dconf.enable = true;
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.
KMail Renders Blank Messages
When you see the message grantlee.template: "Plugin library 'kde_grantlee_plugin' not found."
and/or kmail does shows only empty message then add to your configuration.nix the following line:
environment.sessionVariables = {
NIX_PROFILES = "${pkgs.lib.concatStringsSep " " (pkgs.lib.reverseList config.environment.profiles)}";
};
Tips and tricks
Plasma-Manager
By default, the Plasma configuration can be handled like on traditional systems. With plasma-manager, it is possible to make Plasma configurations via nix by providing home-manager modules.