Hello, I’m a semi-new NixOS user. I’m trying to use KDE Plasma’s Breeze theme for SDDM. I’ve found that this could be done by enabling the Plasma desktop: services.desktopManager.plasma6.enable = true;
. However, I already use another desktop and would prefer not to install another one to use its SDDM theme. Is the theme and the desktop too tightly connected? If not, how could I achieve this?
I have tried adding these: with pkgs.kdePackages; [breeze breeze-icons breeze-gtk qqc2-breeze-style breeze.qt5]
to both environment.systemPackages
and services.displayManager.sddm.extraPackages
(trying one of them at a time), neither of which adds breeze
to /run/current-system/sw/share/sddm/themes
, so the theme won’t be recognised via the name "breeze"
as services.displayManager.sddm.theme
.
I have also tried using the official theme from KDE’s GitLab and this fork of it, following the steps via this youtube video, resulting in the nixos/sddm/theme.nix
file in my configuration. SDDM starts, but it fails to use the theme with multiple errors stating it’s missing some key components or libraries from Plasma itself (which doesn’t seem to be resolvable unless I install the desktop), and falls back to Maui (the default SDDM theme).
Other packaged SDDM themes in the nixpkgs
repository (sddm-astronaut
, sddm-sugar-dark
, sddm-chili-theme
, etc.) are all functional, so I don’t think this is a problem with my SDDM configuration file.
My full NixOS configuration is here. Below is a snippet of the file nixos/sddm/sddm.nix
.
{pkgs, ...}: {
services = {
#desktopManager.plasma6.enable = true;
displayManager.sddm = {
enable = true;
package = pkgs.kdePackages.sddm;
wayland.enable = true;
theme = "breeze";
#theme = "${import ./theme.nix {inherit pkgs;}}";
#extraPackages = with pkgs.kdePackages; [breeze breeze-icons breeze-gtk qqc2-breeze-style breeze.qt5];
};
};
}
Here’s the output of running nix-shell -p nix-info --run "nix-info -m"
:
- system: `"x86_64-linux"`
- host os: `Linux 6.12.0, NixOS, 25.05 (Warbler), 25.05.20241119.23e89b7`
- multi-user?: `yes`
- sandbox: `yes`
- version: `nix-env (Nix) 2.24.10`
- nixpkgs: `/nix/store/c9wv7i0af6mysmy65x6nvyfw5izzxv4g-source`