As I have done before I decided to do an update. I have a flaked system so first I ran “nix flake update” which didn’t seem to have any issues. However when I run “nixos-rebuild switch --flake .#system” now I get an error and I don’t understand why as I haven’t actually changed anything.
The error is as follows:
error:
… while calling the 'seq' builtin
at /nix/store/6viki0xn0rpxw1spfn1kp1ii2s19v75x-source/lib/modules.nix:320:18:
319| options = checked options;
320| config = checked (removeAttrs config [ "_module" ]);
| ^
321| _module = checked (config._module);
… while calling the 'throw' builtin
at /nix/store/6viki0xn0rpxw1spfn1kp1ii2s19v75x-source/lib/modules.nix:296:18:
295| ''
296| else throw baseMsg
| ^
297| else null;
error: The option `hardware.amdgpu' does not exist. Definition values:
- In `/nix/store/m8sxm74cc4vq3bv1n9rzp14ygbh8lbgg-source/common/gpu/amd':
{
initrd = {
enable = {
_type = "override";
content = true;
You’re running NixOS 23.11 with nixos-hardware master. Whatever commit of nixos-hardware flakehub actually gives you does not support NixOS 23.11. NixOS 23.11 is also no longer supported and gets no security updates, so you should switch away from that either way.
Not sure if flakehub is particularly useful here, you’re getting zero benefits if you’re not going to pin specific semver-style versions anyway (you’re just grabbing a specific nixpkgs branch and master for the other two inputs), while being inconsistent with the ecosystem’s inputs, making your flake harder to grok, and using proprietary tooling.
It’s also impossible to tell whether you’re using a nixpkgs-* or a nixos-* branch here, my guess is the former since flakehub is probably more useful for non-NixOS topics, while for a NixOS config you should use the latter, since it involves testing more NixOS-related things.
Mostly. I would recommend looking at the release notes before deploying, it’ll help you migrate any incompatibilities, and warn you if there’s anything important to keep in mind.
Also remember to nixos-rebuild boot rather than switch, much less risky with kernel version changes.
Feel free to ask if there’s more you need a hand with!
And a couple of other flakes like home manager. It threw up some very useful and easy to understand warnings about parameters which had changed. Once I updated these it built cleanly and I now have an updated system.