KDE: Difference between revisions

Phobos (talk | contribs)
m Fixed a link
Malix (talk | contribs)
m Installation: feat: link to PLM
 
(16 intermediate revisions by 6 users not shown)
Line 3: Line 3:
== Installation ==
== Installation ==


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


{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{{file|3={
{
   # Enable Plasma
   services.xserver.enable = true; # optional
  services.displayManager.sddm.enable = true;
  services.displayManager.sddm.wayland.enable = true;
   services.desktopManager.plasma6.enable = true;
   services.desktopManager.plasma6.enable = true;
}
</nowiki>}}


=== Plasma 5 ===
  # Default display manager for Plasma
  services.displayManager.sddm = {
    enable = true;
 
  # To use Wayland (Experimental for SDDM)
    wayland.enable = true;
  };


{{file|/etc/nixos/configuration.nix|nix|<nowiki>
  # Optionally enable xserver
{
   services.xserver.enable = true;
   services.xserver.enable = true;
  services.displayManager.sddm.enable = true;
}|name=configuration.nix|lang=nix}}{{Warning|SDDM is no longer supported on the unstable branch, users on unstable should use [[KDE#Plasma Login Manager|Plasma Login Manager]] instead. See configuration later in this page.}}
  services.xserver.desktopManager.plasma5.enable = true;
}
</nowiki>}}''<big>'''Note:'''</big> As of 2024, KDE Plasma 5 is end of life will not be available after NixOS 25.05.''


== Configuration ==
== Configuration ==
=== Rootless X11 ===
{{ic|sddm}} launches X11 as a root user by default. For better security, X11 can be run as a non-root user, but using Wayland is better tested and thus preferred:
<syntaxhighlight lang="nix">
# Using X11 as a non-root user
services.displayManager.sddm.settings.General.DisplayServer = "x11-user";
# Using Wayland (preferred)
services.displayManager.sddm.settings.General.DisplayServer = "wayland";
</syntaxhighlight>


=== Excluding applications from the default install ===
=== Excluding applications from the default install ===


Some optional packages can be excluded if they are not needed at the cost of functionality.
Some optional packages can be excluded if they are not needed at the cost of functionality.
==== Plasma 6 ====


Optional packages: [https://github.com/NixOS/nixpkgs/blob/nixos-24.11/nixos/modules/services/desktop-managers/plasma6.nix#L159-L174 plasma6.nix]
Optional packages: [https://github.com/NixOS/nixpkgs/blob/nixos-24.11/nixos/modules/services/desktop-managers/plasma6.nix#L159-L174 plasma6.nix]


<syntaxHighlight lang=nix>
{{File|3={
environment.plasma6.excludePackages = with pkgs.kdePackages; [
  environment.plasma6.excludePackages = with pkgs.kdePackages; [
  plasma-browser-integration
    plasma-browser-integration
  konsole
    konsole
  elisa
    elisa
];
  ];
</syntaxHighlight>
}|name=configuration.nix|lang=nix}}


==== Plasma 5 ====
=== Plasma Login Manager ===


Optional packages: [https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/x11/desktop-managers/plasma5.nix#L278-L282 plasma5.nix]
[https://github.com/KDE/plasma-login-manager Plasma Login Manager] is currently only available in unstable. If you are on unstable you can enable it with the following configuration.


<syntaxHighlight lang=nix>
{{File|3={
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
  services.displayManager.plasma-login-manager = {
  plasma-browser-integration
    enable = true;
  konsole
   };
   oxygen
}|name=configuration.nix|lang=nix}}
];
</syntaxHighlight>


=== Default Wayland/X11 session ===
=== Default Wayland/X11 session ===
==== Plasma 6 ====


Plasma 6 runs on Wayland by default. To launch an X11 session by default:
Plasma 6 runs on Wayland by default. To launch an X11 session by default:


<syntaxhighlight lang="nix">
{{File|3=
services.displayManager.defaultSession = "plasmax11";
  services.displayManager.defaultSession = "plasmax11";
</syntaxhighlight>
}|name=configuration.nix|lang=nix}}
 
==== SDDM on Wayland ====
 
<syntaxhighlight lang="nix">
services.displayManager.sddm.wayland.enable = true;
</syntaxhighlight>
 
==== Plasma 5 ====
 
Plasma 5 runs on X11 by default and it is recommended to use Wayland with Plasma 6 instead. To launch a Wayland session by default anyway:
 
<syntaxhighlight lang="nix">
services.displayManager.defaultSession = "plasmawayland";
</syntaxhighlight>


== Troubleshooting ==
== Troubleshooting ==
Line 132: Line 97:
]
]
</syntaxHighlight>
</syntaxHighlight>
=== Brightness and Color brightness control sets gamma instead of brightness on external monitors ===
To allow <code>powerdevil</code> (and by extension the "Brightness and Color" status tray menu) to control brightness on supported monitors directly instead of adjusting gamma, [[Backlight#Via ddcutil|configure your system to enable ddcutil]], and allow your user to use DDC/CI without root.


== Tips and tricks ==
== Tips and tricks ==