KDE: Difference between revisions

Jervw (talk | contribs)
Ezri (talk | contribs)
→‎Tips and tricks: Show user option to add a profile picture for their sddm login screen.
 
(17 intermediate revisions by 5 users not shown)
Line 3: Line 3:
== Installation ==
== Installation ==


=== Plasma 5 ===
=== Plasma 6 ===


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


=== Plasma 6 ===
=== Plasma 5 ===
 
Available on the unstable channel.


{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
Line 21: Line 20:
   services.xserver.enable = true;
   services.xserver.enable = true;
   services.displayManager.sddm.enable = true;
   services.displayManager.sddm.enable = true;
   services.displayManager.sddm.wayland.enable = true;
   services.xserver.desktopManager.plasma5.enable = true;
  services.desktopManager.plasma6.enable = true;
}
}
</nowiki>}}
</nowiki>}}
Line 30: Line 28:
=== Rootless X11 ===
=== Rootless X11 ===


{{ic|sddm}} launches X11 as a root user by default. For better security, X11 should be run as a non-root user:
{{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>
<syntaxHighlight lang=nix>
Line 38: Line 36:
=== Excluding applications from the default install ===
=== Excluding applications from the default install ===


Some optional packages that are installed by default can be excluded if they are not needed.
Some optional packages can be excluded if they are not needed at the cost of functionality.


==== Plasma 5 ====
==== Plasma 6 ====


Optional packages: [https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/x11/desktop-managers/plasma5.nix#L275-L284 plasma5.nix]
Optional packages: [https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/services/desktop-managers/plasma6.nix#L136-L149 plasma6.nix]


<syntaxHighlight lang=nix>
<syntaxHighlight lang=nix>
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
environment.plasma6.excludePackages = with pkgs.kdePackages; [
   plasma-browser-integration
   plasma-browser-integration
   konsole
   konsole
   oxygen
   elisa
];
];
</syntaxHighlight>
</syntaxHighlight>


==== Plasma 6 ====
==== Plasma 5 ====


Optional packages: [https://github.com/NixOS/nixpkgs/blob/ff0dbd94265ac470dda06a657d5fe49de93b4599/nixos/modules/services/desktop-managers/plasma6.nix#L153-L165 plasma6.nix]
Optional packages: [https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/x11/desktop-managers/plasma5.nix#L278-L282 plasma5.nix]


<syntaxHighlight lang=nix>
<syntaxHighlight lang=nix>
environment.plasma6.excludePackages = with pkgs.kdePackages; [
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
   plasma-browser-integration
   plasma-browser-integration
   konsole
   konsole
   elisa
   oxygen
];
];
</syntaxHighlight>
</syntaxHighlight>
Line 94: Line 92:


=== Default Wayland/X11 session ===
=== 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 ====
Line 115: Line 105:
<syntaxHighlight lang=nix>
<syntaxHighlight lang=nix>
services.xserver.displayManager.sddm.wayland.enable = true;
services.xserver.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.xserver.displayManager.defaultSession = "plasmawayland";
</syntaxHighlight>
</syntaxHighlight>


Line 130: Line 128:
This affects GTK applications including Firefox and Thunderbird.
This affects GTK applications including Firefox and Thunderbird.


Add to your configuration.nix the following line:
You may 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''.
 
<syntaxHighlight lang=nix>
programs.dconf.enable = true;
</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)]
=== 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 ==
== Tips and tricks ==
Line 156: Line 136:
=== Plasma-Manager ===
=== Plasma-Manager ===


{{note|  [https://github.com/pjones/plasma-manager Plasma-Manager] is not matured yet and unofficial community project}}  
{{note|  [https://github.com/pjones/plasma-manager Plasma-Manager] is an unofficial community project and is not yet mature}}  
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.
=== User icon (avatar) ===
You can add a profile picture to your user by using a png file in <code>~/.face.icon</code>.


[[Category:Desktop environment]]
[[Category:Desktop environment]]
[[Category:Applications]]
[[Category:Applications]]
[[Category:KDE]]