Jump to content

KDE: Difference between revisions

m
(Add Tips and tricks section)
(7 intermediate revisions by 3 users not shown)
Line 3: Line 3:
== Installation ==
== Installation ==


To use KDE Plasma, add this to your configuration.nix:
=== Plasma 5 ===


<syntaxhighlight lang="nix">
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
services.xserver.enable = true;
{
services.xserver.displayManager.sddm.enable = true;
  services.xserver.enable = true;
services.xserver.desktopManager.plasma5.enable = true;
  services.xserver.displayManager.sddm.enable = true;
</syntaxhighlight>Or if you want to use Plasma 6, available on nixpkgs-unstable:<syntaxhighlight lang="nix">
  services.xserver.desktopManager.plasma5.enable = true;
services.xserver.enable = true;
}
services.xserver.displayManager.sddm.enable = true;
</nowiki>}}
services.desktopManager.plasma6.enable = true;
</syntaxhighlight>


=== Excluding some KDE Plasma applications from the default install ===
=== 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>
services.xserver.displayManager.sddm.settings.General.DisplayServer = "x11-user";
</syntaxHighlight>
 
=== Excluding applications from the default install ===
 
Some optional packages that are installed by default can be excluded if they are not needed.


==== Plasma 5 ====
==== 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 [https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/x11/desktop-managers/plasma5.nix#L275-L284 optional packages], for example as follows:
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>
Line 30: Line 53:


==== Plasma 6 ====
==== 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>
<syntaxHighlight lang=nix>
Line 35: Line 60:
   plasma-browser-integration
   plasma-browser-integration
   konsole
   konsole
   oxygen
   elisa
];
];
</syntaxHighlight>
</syntaxHighlight>
== Configuration ==


=== GNOME desktop integration ===
=== GNOME desktop integration ===
Line 69: Line 92:


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.
=== 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 ==
== Troubleshooting ==
Line 104: Line 151:


[https://github.com/NixOS/nixpkgs/issues/160599 (See this issue)]
[https://github.com/NixOS/nixpkgs/issues/160599 (See this issue)]
=== Launch KDE in Wayland session ===
==== Plasma 5 ====
<syntaxHighlight lang=nix>
services.xserver.displayManager.defaultSession = "plasmawayland";
</syntaxHighlight>
==== Plasma 6 ====
For KDE Plasma 6, the defaults have changed. KDE Plasma 6 runs on Wayland with the default session set to <code>plasma</code>.
If you want to use the X11 session as your default session, change it to <code>plasmax11</code>.
<syntaxHighlight lang=nix>
services.xserver.displayManager.defaultSession = "plasma";
</syntaxHighlight>
==== Launch SDDM in Wayland too ====
It's possible to launch sddm in Wayland too to try to avoid running an X server.
<syntaxHighlight lang=nix>
services.xserver.displayManager.sddm.wayland.enable = true;
</syntaxHighlight>


== Tips and tricks ==
== Tips and tricks ==
Line 133: Line 156:
=== Plasma-Manager ===
=== Plasma-Manager ===


{{note|  [https://github.com/pjones/plasma-manager Plasma-Manager] is not matured yet and currently unofficial }}  
{{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].  
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.  
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:Desktop environment]]
[[Category:Applications]]
[[Category:Applications]]
13

edits