Need help setting a SDDM theme

Hello, just installed Nix and I don’t have too much experience configuring Linux.

I’m trying to set a SDDM theme but it’s just not working and I don’t know why. I’m going to describe some of the steps I took and maybe it will help with understanding what I’m doing wrong.

This is my system information:

NixOS 25.05 (Warbler) x86_64
Linux 6.15.3
Cinnamon 6.4.7
And I’m using X11

First, I got the theme package from the nix repo, I tried two of them and none of them worked, my package config looked like this:

environment.systemPackages = with pkgs; [
     vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
     wget
     fastfetch
     sddm-sugar-dark
     sddm-astronaut

   ];

and the SDDM config looked like this:

services.displayManager.sddm.enable = true;
services.displayManager.sddm.theme = "sddm-theme-name";

The first part is working, SDDM is enabled, but the theme is not working.

I tried configuring it differently, adding “xserver” after the “services” part, but it didn’t work either.

After seeing some posts, I tried to package the theme myself, since that was being recommended, and it also didn’t work, but this is what that looks like for me:

environment.systemPackages = with pkgs; [
     (callPackage /home/guida/SDDM/sddm-astronaut.nix {}).sddm-astronaut
     vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
     wget
     fastfetch
     sddm-sugar-dark

   ];
#SDDM
   services.xserver.displayManager.sddm = {
     enable = true;
     theme = "sddm-astronaut";
}; 

And this is the packaged theme:

{ stdenv, fetchFromGitHub }:
{
  sddm-astronaut = stdenv.mkDerivation rec {
    pname = "sddm-astronaut";
    version = "1.0-unstable-2025-01-05";
    dontBuild = true;
    installPhase = ''
      mkdir -p $out/share/sddm/themes
      cp -aR $src $out/share/sddm/themes/sddm-astronaut
    '';
    src = fetchFromGitHub {
      owner = "Keyitdev";
      repo = "sddm-astronaut-theme";
      rev = "11c0bf6147bbea466ce2e2b0559e9a9abdbcc7c3";
      sha256 = "sha256-gBSz+k/qgEaIWh1Txdgwlou/Lfrfv3ABzyxYwlrLjDk=";
    };
  };
}

I don’t really understand what’s going on in there, I just copied someone else’s package, changed the info and fixed any errors I got.

My issue here is that I am not getting any errors, the SDDM is just not showing up, otherwise I could have (hopefully) figured it out on my own. I am also going to add my journal and full config file in a pastebin below.

Config file:

Journal:

Two things:

  • services.xserver.displayManager.sddm.theme needs to be "sddm-astronaut-theme", not just "sddm-astronaut". Near as I can tell, the best way to tell what the theme name should be is to list the contents of the directory /run/current-system/sw/share/sddm/themes.

  • At least on the on the unstable version of NixOS, and probably also version 25.05 as well, the sddm-astronaut package has a dependency on the kdePackages.qtmultimedia package that for some reason isn’t installed even though it’s in the propagatedBuildInputs of the package, so you’ll need to add it manually to environment.systemPackages. This is a known issue.

ETA: Given that I basically narc’d on the sddm-astronaut package, I don’t know how much longer it will even be a part of nixpkgs.