I believe this needs to be posted in the forum, as it’s a major issue for many users. In fact, I reinstalled my NixOS from scratch a few days ago, hoping the printer woes would go away - only to find them again on a fresh install.
There is a major bug in CUPS 2.4.15 that caused GTK-based programs (Chromium in particular) to hang when asked to print (Firefox is not affected). The bug has been fixed in CUPS 2.4.16. However, NixOS 25.11 is still using CUPS 2.4.15.
That thread contains useful tips on how to work around the issue for now while avoiding extensive local rebuilds (credit: michalrus):
Since a simple override of cups would cause a lot of local rebuilding, as a workaround you can depend on older nixos-25.11, c8cfcd6 – the most recent one without the faulty CUPS 2.4.15 according to https://releases.nixos.org/?prefix=nixos/25.11/
Adding following to /etc/nixos/configuration.nix worked for me and did not require a long rebuild:
services.printing.package =
let
oldnixpkgs =
import
(builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/c8cfcd6ccd422e41cc631a0b73ed4d5a925c393d.tar.gz";
sha256 = "1fdjh5jd5jx246fhfq13q5752nw9il5dwv36nqbcj4pa6kzwq9fy";
})
{
config = config.nixpkgs.config;
system = pkgs.stdenv.hostPlatform.system;
};
in
oldnixpkgs.cups;
I tried using this configuration on another computer, and it didn’t appear to work. That system used Chrome as the browser. Both Chrome and Evince were freezing. But then I installed Chromium, and it didn’t freeze. I went back to Chrome, and it could open the print dialog, but it would still hang in “Page Setup” in the system print dialog. So it’s trickier than I would like. Let’s hope the fix would come soon.
I’m afraid that my fix probably has no effect. The hang is somewhat probabilistic, which confused me. I ended up installing kdePackages.okular to print PDFs.
I keep checking release-25.11 and nixos-25.11 branches every day - still no sign of cups 2.4.16
Since a simple override of cups would cause a lot of local rebuilding, as a workaround you can depend on older nixos-25.11, c8cfcd6 – the most recent one without the faulty CUPS 2.4.15 according to Channels for NixOS project(s) .
… was not to just override the services.printing.package, but to base your entire 25.11 system off of this commit. I.e. nix-channel, flake inputs or whatever you use – set the source to c8cfcd6.
It takes time to rebuild all packages. And we’re doing that for two different branches periodically. And of course, various regressions happen during that (and not many people participate in fixing them).
That’s wrong. It was all in binary cache already. And now it’s also merged in release-25.11 (but not in nixos-25.11 channel yet, only in -small so far)