On a NixOS 25.05, librewolf stopped updating (since 125.0.2). I only discovered this by accident because of the [FF root cert expiration issue].(Update Firefox to prevent add-ons issues from root certificate expiration | Mozilla Support) I’m probably missing something obvious (noob) but everything else seems to be updating fine. Advice please?
Librewolf was updated just a few days ago: librewolf: 136.0-2 -> 136.0.1-1 by fpletz · Pull Request #389460 · NixOS/nixpkgs · GitHub and channels are not stuck anyway. Most likely your system configuration is pinned to an older version of nixpkgs?
Perhaps you could give more information about your system configuration?
try using nix flake update
if you are using flakes.
or,
sudo nixos-rebuild switch --upgrade
if you are using configuration.nix
or,
use both.
Thanks for the reply.
To my recollection, I have not pinned anything.
I’m afraid I don’t know what details would be useful to you. What specifically could I check/provide to make some progress?
Thanks for your response.
I am not using flakes and have been running sudo nixos-rebuild switch --upgrade
about weekly. (including several times today and yesterday) and reboots if that matters…
You are writing you are using version 25.05 which is not released so far. I suspect you are still using 24.05 which is already eol and does not receive any updates. Could this be the issue?
Thanks for your rejoinder.
I believe I previously had something similar to system.stateVersion = "unstable"
in configuration.nix.
However, a few months ago, it advised me that was no longer a valid channel and I had to change it to a valid channel.
(I’m paraphrasing because I don’t remember the exact words it used)
It now says system.stateVersion = "25.05"
It is entirely possible I’m doing/have done something wrong. I have not pursued trying to figure out flakes, the home manager, npin/niv, and a few other things yet.
This brings up a question I never found an answer for previously. What channel should/could I use if I wanted my install to act like a rolling release distro? (as unstable previously accomplished)
stateVersion
is irrelevant. Never change it after installing NixOS.
Please provide the output of sudo nix-channel --list
.
Thanks for your reply.
When I run sudo nix-channel --list
a single line is echoed:
nixos https://nixos.org/channels/nixos-unstable
Regarding the change of stateVersion, I wasn’t given a choice. sudo nixos-rebuild switch --upgrade
refused to run indicating configuration.nix had an invalid stateVersion and suggested I change it to a valid channel.
as @waffle8946 said, Never change the state version.
I would suggest reverting the state version to the initial one when you first installed nixos, it’s likely 24.11 or 24.05.
if you don’t have any sensitive information in your configuration.nix
file, could you share it with us using pastebin or github or something?
To be honest it sounds more like a channel problem than a configuration one to me. Although even for 24.05 it seems like a quite old version (librewolf-unwrapped: 125.0.1-1 -> 125.0.2-1 · NixOS/nixpkgs@b903654 · GitHub).
And stable is on 136: NixOS Search
Unstable is correct if you want a rollng release-style update channel, but stateVersion
!= channel. stateVersion
tells NixOS what version of the distro you were using when you first installed it, so that it knows when to e.g. do database migrations.
If you change it, you confuse NixOS, meaning your on-disk state might not be compatible with various scripts. For desktop systems luckily this rarely breaks much, since most GUI stuff is quite robust to update shenanigans because they also have to deal with end users wo don’t read documentation, but there might be some broken applications on your system.
Changing it back probably didn’t make things much better, it’s now going to be a bunch of applications confused in the other direction (though setting it to unstable
was completely invalid, so maybe it’s still for the best) - just never touch that option again once you’ve set it to a sane value, and if you see a message that makes you think you need to change it come ask here first.
That looks right. What about nix-channel --list
without sudo
? Can you also share the output of sudo nix-channel --update
?
If there’s nothing wrong with either of these, you’re probably pinning your input nixpkgs without being aware of it, or doing some overrides. Please share your full configuration.
I reverted it to 24.05 as suggested.
nix-channel --list
without sudo echos a blank line.
sudo nix-channel --update
echos:
unpacking 1 channels…
I understand that I may have screwed something up by changing stateVersion from 24.05 > unstable (used it like that for 6 months until it suddenly demanded something else) > 25.05 > 24.05 but I’m confused why all other apps have been updating fine and only librewolf got left behind.
What’s the output of which librewolf
?
Also, I don’t know how to stress this enough: stateVersion
is completely unrelated to your question here, forget about it moving forward. It has nothing to do with your channels.
/home/uhu/.nix-profile/bin/librewolf
Then you used nix-env
or such to install it, remove it if you did so.
(And don’t use nix-env
in the future, it’s a terrible tool.)
Thanks for the help.
I have no recollection of doing that but obviously it should be under /current-system/sw instead.
Is there any way to not lose my librewolf profile(s) in this process?
This will not touch your stateful data, nix doesn’t know about it (same as any package manager). Just uninstall it if you used nix-env
/nix profile
, or if not, are you using some other tool to manage your user profile like home-manager or something?