Stuck on an old copy of a module?

Hello friends! I am still trying to gather my bearings in the Nix world, so apologies if I’m presenting this issue incorrectly or very clearly missing something.

My issue is that my system uses the proprietary Nvidia driver module, and my system appears to have an older copy of the nvidia.nix module, as it contains a reference to the services.xserver.useGlamor option which was deprecated, resulting in me receiving the following error when attempting to do a rebuild:

building Nix...
building the system configuration...
error:
       Failed assertions:
       - The option definition `services.xserver.useGlamor' in `/nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/hardware/video/nvidia.nix' no longer has any effect; please remove it.
       Option services.xserver.useGlamor was removed because it is unnecessary. Drivers that uses Glamor will use it automatically.
(use '--show-trace' to show detailed location information)

(To be clear, I do not directly call/set this option in my system’s configuration.nix or hardware-configuration.nix modules)

Now I see this issue was raised in this GitHub issue and resolved by this merged PR - however, no matter what I try to do to try to get Nix to pull down the changes, I still end up with the above error. Specifically, I’ve tried the following:

  • A simple sudo nix-channel --update
  • Multiple sudo nixos-rebuild --upgrade switch (which I believe just runs nix-channel --update first and then performs a rebuild, so probably redundant?)
  • Removing the nixos channel, running a sudo nix-channel --update, adding it back in, and running another update
  • Booting into an older generation, and attempting to upgrade through that

There doesn’t seem to be a set standard on what system information I should provide when posting to the Discourse, so I’ll provide the output generated from nix-info as per the repo’s issue guidelines:

❯ nix-shell -p nix-info --run "nix-info -m"
this path will be fetched (0.00 MiB download, 0.00 MiB unpacked):
  /nix/store/7wqmqgs9fpvzz95vrgfnsdpnd75h80xc-nix-info
copying path '/nix/store/7wqmqgs9fpvzz95vrgfnsdpnd75h80xc-nix-info' from 'https://cache.nixos.org'...
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.61, NixOS, 22.11 (Raccoon), 22.11pre402057.13711c9ab9f`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.10.3`
 - channels(root): `"nixos"`
 - channels(russjr08): `"home-manager-22.05.tar.gz"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Of course, if there’s anything else I can add on, please don’t hesitate to let me know!

1 Like

The fix pr has not reached nixos-unstable, I assume this is your nixos channel, channel yet.
You can either wait for it or fork nixpkgs and cherry-pick it.

2 Likes

I think the issue is that the channel hasn’t updated to nixpkgs master yet. Your nix-info output says your on commit 13711c9ab9f which is from 6 days ago. Even if you updated right now with nixos-unstable, you would only be on a commit from 2 days ago.

You can take a look at https://status.nixos.org/ to see what commit each channel is on. You can wait for your channel to reach that commit, fork nixpkgs, or use an overlay to get the fix.

1 Like