How should I handle build failures?

I recently ran into a build failure while trying to install a CTAN package from texlive (an update was made to one of my installed applications that broke some tests). There is apparently a fix being made but I’d like to know what one is supposed to do in such a situation: reverting to the old state doesn’t get me the new package and I’d prefer not to remove the perfectly fine version of the affected application I have installed. I can’t use a flake or nix-shell because the package needs to be compiled and made available with the rest of texlive, so what should I do to get a working system with the new package until I can run a nixos-rebuild switch?

1 Like

I see multiple options:

  1. Roll back (as you’ve mentioned)
  2. Fix it in your own fork/tree by reverting or cherry-picking an existing fix
  3. Fix it upstream and wait for the channel

You can also combine 2. and 3.

Making the package available via nix-shell should work though which would make all of this much simpler. I’d actually argue that you shouldn’t install texlive packages via NixOS to begin with and rather limit them to nix-shells in the projects where you actually need them via i.e. direnv.