Rebooting the system changes which packages are used

I use sddm with a personal fork of the astronaut theme.

Everything works well after a nixos rebuild switch --flake . in my system config directory, and I can preview the theme working with sddm-greeter-qt6 --test-mode --theme /run/current-system/sw/share/sddm/themes/sddm-astronaut-theme/ to confirm that it does indeed work properly.

However, once I reboot my system, the theme is changed. The new theme is a previous sddm theme that I had installed but then removed. For the life of me, I can’t find out why this is still installed and used. I can’t find any reference of it in my config.

The way the theme works is just symlinking an entry in the nix store to a folder in the themes directory of sddm. After rebuilding, the nix store entry that is used is a different entry than after rebooting. In other words, rebooting changes the entry that is used as my theme.

My sddm configuration is:

{ pkgs, lib, config, inputs, ... }:
let
  sddm-astronaut = pkgs.libsForQt5.callPackage ../../../../pkgs/sddm-astronaut-theme { };
in {
    environment.defaultPackages = [
      sddm-astronaut
    ];

    services.displayManager.sddm = {
      enable = true;
      wayland.enable = true;
      package = pkgs.kdePackages.sddm;
      theme = "sddm-astronaut-theme";
    };
}

The file referenced to create sddm-astronaut is:

{ pkgs, lib, stdenvNoCC }:
let
  themeConfig = { };
in stdenvNoCC.mkDerivation rec {
  pname = "sddm-astronaut";
  version = "1.0";

  src = pkgs.fetchFromGitHub {
    owner = "ethananthony271";
    repo = "sddm-astronaut-theme";
    rev = "4b6b58505a1cf1f60b0365be3d964b4f68e26ffc";
    hash = "sha256-LJQrcbPvh3VMBrW3mlbF+kwai0+Y6kVD6716IvxjjYk=";
  };

  dontWrapQtApps = true;
  propagatedBuildInputs = with pkgs.kdePackages; [
    qt5compat
    qtsvg
  ];

  installPhase =
    let
      basePath = "$out/share/sddm/themes/sddm-astronaut-theme";
    in
      ''
      mkdir -p ${basePath}
      cp -r $src/* ${basePath}
      ''
    + lib.optionalString (themeConfig != null) ''
      ln -sf ${basePath}/Themes/theme1.conf ${basePath}/theme.conf.user
    '';

  meta = {
    description = "Modern looking qt6 sddm theme";
    homepage = "https://github.com/${src.owner}/${src.repo}";
    license = lib.licenses.gpl3;

    platforms = lib.platforms.linux;
    maintainers = with lib.maintainers; [ danid3v ];
  };
}

Is there any reason that the packages used should change with a reboot? Or is something weird going on here. I’m really not sure what to make of this.