nixOS (specifically desktop environments) broken after recent updates?

Hi. Ive been using nixOS (with HM and PM) for a few months, im still a noob though. Nevertheless i had a fairly stable system for a while until today.Yesterday i have done nix flake update and this morning i have done nixos-rebuild. After that KDE started behaving very weirdly. Apps are freezing either completely where the app becomes grayed out, or only for keyboard input, or only some elements of apps (like server menu on the left od Discord client). Some of my KDE settings link taskbar configuration has stopped working at all.But thats only start of the problem.Because today i have done another nix flake update, after which i cannot do nix rebuild anymore. Im getting this error:

@ sudo nixos-rebuild switch --flake .#dinth-nixos-desktop --impure --upgrade --show-trace
doas (michal@dinth-nixos-desktop) password:
unpacking 1 channels...
error:
… while calling the 'seq' builtin
at /nix/store/vl17kg85iryyjyf114vkqzskn7s9d5x5-source/lib/modules.nix:361:18:
360|         options = checked options;
361|         config = checked (removeAttrs config [ "_module" ]);
|                  ^
362|         _module = checked (config._module);

… while calling the 'throw' builtin
at /nix/store/vl17kg85iryyjyf114vkqzskn7s9d5x5-source/lib/modules.nix:333:13:
332|           else
333|             throw baseMsg
|             ^
334|         else

error: The option `services.displayManager.generic' does not exist. Definition values:
- In `/nix/store/52izzxv5x9rpnzq78rjnd3q183i7l4gx-source/modules/nixos/gtk.nix':
{
_type = "if";
condition = false;
content = {
environment = {
...
Command 'nix --extra-experimental-features 'nix-command flakes' build --print-out-paths '.#nixosConfigurations."dinth-nixos-desktop".config.system.build.nixos-rebuild' --show-trace --impure --no-link' returned non-zero exit status 1.

I have tried reverting all the small changes i have made today, but unfortunately it doesnt help. The error doesnt really tell me whats causing it.Here is my config: Any help will be greatly appreciated!

My config is GitHub - Dinth/nixos-config

Can you share your configuration? If you do, please put it in a code block. It’d be helpful if you reformatted your error message in a proper code block, too, the current post is completely unreadable.

It’s from catppuccin/nix nixosModule you have imported nix/modules/nixos/gtk.nix at d745dab3172e426fef9767f46651ba073db4d04b · catppuccin/nix · GitHub

Yep, to fix this, use their branch targeting your NixOS version: GitHub - catppuccin/nix at release-25.11

I.e., use this input:

# flake.nix
{
  inputs = {
    # ...
    catppuccin = {
      url = "github:catppuccin/nix/release-25.11";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  # ...
}

While I’m at it, the rebuild command you use is problematic. Breaking it down arg by arg:

  • --impure
    • You should not need this. If you do, you should fix that, not permanently stick this into your args.
  • --upgrade
    • This arg does literally nothing for flakes. You need to manually run nix flake update.
  • --show-trace
    • While this sounds useful if you have absolutely no idea what the output means, it typically just dumps so much crap at you that you can’t get anything useful from it. Nix is pretty good at narrowing the trace down to what you need to see by default, don’t be tempted by this arg.

Re your performance issues, let’s look at those once you’ve fixed these things.

1 Like

Thanks that has worked.
Regarding command args:
–upgrade - great point, thanks for pointing that out
–impure - it seems i need it if i do nix-rebuild before commiting to git
–show-trace - this one i have just added for troubleshooting of this issue hoping that its gonna tell me something more. But it didnt

Regarding the performance issues, i have dumped 1M of journalctl logs and run it through Gemini asking it to find anything what may be causing weird freezes and latency. It has said that KDEConnect has 284kB of UDP pockets most likely from UPnP which it cannot process.

You should not need it. It is enough git add new files.