Errors out of the box

So, my first exposure to Nix is via devbox.
I installed devbox, and it installed nix.

I wanted to see the contents of a package, and all my nix-env commands end up with these warnings (which, I think is harmless, but the errors are a hard stop.

❯ nix-env -qa google-cloud-sdk-gce --description
trace: warning: cudaPackages.autoAddDriverRunpath is deprecated, use pkgs.autoAddDriverRunpath instead
trace: warning: cudaPackages.autoAddOpenGLRunpathHook is deprecated, use pkgs.autoAddDriverRunpathHook instead
trace: warning: cudaPackages.autoFixElfFiles is deprecated, use pkgs.autoFixElfFiles instead
trace: warning: cudaPackages.autoAddDriverRunpath is deprecated, use pkgs.autoAddDriverRunpath instead
trace: warning: cudaPackages.autoAddOpenGLRunpathHook is deprecated, use pkgs.autoAddDriverRunpathHook instead
trace: warning: cudaPackages.autoFixElfFiles is deprecated, use pkgs.autoFixElfFiles instead
trace: warning: cudaPackages.autoAddDriverRunpath is deprecated, use pkgs.autoAddDriverRunpath instead
trace: warning: cudaPackages.autoAddOpenGLRunpathHook is deprecated, use pkgs.autoAddDriverRunpathHook instead
trace: warning: cudaPackages.autoFixElfFiles is deprecated, use pkgs.autoFixElfFiles instead
trace: warning: eww now can build for X11 and wayland simultaneously, so `eww-wayland` is deprecated, use the normal `eww` package instead.
trace: warning: The ‘gnome.accerciser’ was moved to top-level. Please use ‘pkgs.accerciser’ directly.
trace: warning: The ‘gnome.adwaita-icon-theme’ was moved to top-level. Please use ‘pkgs.adwaita-icon-theme’ directly.
trace: warning: The ‘gnome.baobab’ was moved to top-level. Please use ‘pkgs.baobab’ directly.
trace: warning: The ‘gnome.cheese’ was moved to top-level. Please use ‘pkgs.cheese’ directly.
trace: warning: The ‘gnome.dconf-editor’ was moved to top-level. Please use ‘pkgs.dconf-editor’ directly.
trace: warning: The ‘gnome.devhelp’ was moved to top-level. Please use ‘pkgs.devhelp’ directly.
trace: warning: The ‘gnome.eog’ was moved to top-level. Please use ‘pkgs.eog’ directly.
trace: warning: The ‘gnome.epiphany’ was moved to top-level. Please use ‘pkgs.epiphany’ directly.
trace: warning: The ‘gnome.evince’ was moved to top-level. Please use ‘pkgs.evince’ directly.
trace: warning: The ‘gnome.evolution-data-server’ was moved to top-level. Please use ‘pkgs.evolution-data-server’ directly.
trace: warning: The ‘gnome.file-roller’ was moved to top-level. Please use ‘pkgs.file-roller’ directly.
trace: warning: The ‘gnome.geary’ was moved to top-level. Please use ‘pkgs.geary’ directly.
trace: warning: The ‘gnome.ghex’ was moved to top-level. Please use ‘pkgs.ghex’ directly.
trace: warning: The ‘gnome.gitg’ was moved to top-level. Please use ‘pkgs.gitg’ directly.
trace: warning: The ‘gnome.gnome-autoar’ was moved to top-level. Please use ‘pkgs.gnome-autoar’ directly.
trace: warning: The ‘gnome.gnome-calculator’ was moved to top-level. Please use ‘pkgs.gnome-calculator’ directly.
trace: warning: The ‘gnome.gnome-calendar’ was moved to top-level. Please use ‘pkgs.gnome-calendar’ directly.
trace: warning: The ‘gnome.gnome-common’ was moved to top-level. Please use ‘pkgs.gnome-common’ directly.
trace: warning: The ‘gnome.gnome-dictionary’ was moved to top-level. Please use ‘pkgs.gnome-dictionary’ directly.
trace: warning: The ‘gnome.gnome-disk-utility’ was moved to top-level. Please use ‘pkgs.gnome-disk-utility’ directly.
trace: warning: The ‘gnome.gnome-font-viewer’ was moved to top-level. Please use ‘pkgs.gnome-font-viewer’ directly.
trace: warning: The ‘gnome.gnome-keyring’ was moved to top-level. Please use ‘pkgs.gnome-keyring’ directly.
trace: warning: The ‘gnome.gnome-packagekit’ was moved to top-level. Please use ‘pkgs.gnome-packagekit’ directly.
trace: warning: The ‘gnome.gnome-screenshot’ was moved to top-level. Please use ‘pkgs.gnome-screenshot’ directly.
trace: warning: The ‘gnome.gnome-system-monitor’ was moved to top-level. Please use ‘pkgs.gnome-system-monitor’ directly.
trace: warning: The ‘gnome.gnome-terminal’ was moved to top-level. Please use ‘pkgs.gnome-terminal’ directly.
trace: warning: The ‘gnome.gnome-themes-extra’ was moved to top-level. Please use ‘pkgs.gnome-themes-extra’ directly.
trace: warning: The ‘gnome.gnome-tweaks’ was moved to top-level. Please use ‘pkgs.gnome-tweaks’ directly.
trace: warning: The ‘gnome.gnome-user-share’ was moved to top-level. Please use ‘pkgs.gnome-user-share’ directly.
trace: warning: The ‘gnome.gpaste’ was moved to top-level. Please use ‘pkgs.gpaste’ directly.
trace: warning: The ‘gnome.gucharmap’ was moved to top-level. Please use ‘pkgs.gucharmap’ directly.
trace: warning: The ‘gnome.libgnome-keyring’ was moved to top-level. Please use ‘pkgs.libgnome-keyring’ directly.
trace: warning: The ‘gnome.nautilus’ was moved to top-level. Please use ‘pkgs.nautilus’ directly.
trace: warning: The ‘gnome.nautilus-python’ was moved to top-level. Please use ‘pkgs.nautilus-python’ directly.
trace: warning: The ‘gnome.pomodoro’ was moved to top-level. Please use ‘pkgs.gnome-pomodoro’ directly.
trace: warning: The ‘gnome.rygel’ was moved to top-level. Please use ‘pkgs.rygel’ directly.
trace: warning: The ‘gnome.seahorse’ was moved to top-level. Please use ‘pkgs.seahorse’ directly.
trace: warning: The ‘gnome.simple-scan’ was moved to top-level. Please use ‘pkgs.simple-scan’ directly.
trace: warning: The ‘gnome.sushi’ was moved to top-level. Please use ‘pkgs.sushi’ directly.
trace: warning: The ‘gnome.totem’ was moved to top-level. Please use ‘pkgs.totem’ directly.
trace: warning: The ‘gnome.yelp’ was moved to top-level. Please use ‘pkgs.yelp’ directly.
trace: warning: The ‘gnome.yelp-xsl’ was moved to top-level. Please use ‘pkgs.yelp-xsl’ directly.
trace: warning: The ‘gnome.zenity’ was moved to top-level. Please use ‘pkgs.zenity’ directly.
trace: warning: libtransmission has been renamed to libtransmission_3 since libtransmission_4 is also available. Note that upgrade caused data loss for some users so backup is recommended (see NixOS 24.11 release notes for details)
trace: warning: lxd has been renamed to lxd-lts
trace: warning: lxd-unwrapped has been renamed to lxd-unwrapped-lts
trace: warning: marwaita-manjaro has been renamed to marwaita-teal
trace: warning: marwaita-peppermint has been renamed to marwaita-red
trace: warning: marwaita-ubuntu has been renamed to marwaita-orange
error:
       … while evaluating a branch condition

         at /nix/store/mflzfgjwkaynii35yxpz16bd7kykimli-nixpkgs/nixpkgs/pkgs/top-level/aliases.nix:33:5:

           32|   removeDistribute = alias: with lib;
           33|     if isDerivation alias then
             |     ^
           34|       dontDistribute alias

       … while evaluating a branch condition

         at /nix/store/mflzfgjwkaynii35yxpz16bd7kykimli-nixpkgs/nixpkgs/pkgs/top-level/aliases.nix:26:5:

           25|   removeRecurseForDerivations = alias: with lib;
           26|     if alias.recurseForDerivations or false
             |     ^
           27|     then removeAttrs alias [ "recurseForDerivations" ]

       error: attribute 'drivers' missing

       at /nix/store/mflzfgjwkaynii35yxpz16bd7kykimli-nixpkgs/nixpkgs/pkgs/top-level/aliases.nix:925:18:

          924|   # so package reduced to alias
          925|   mesa_drivers = mesa.drivers;
             |                  ^
          926|

I’m on macos, so I’m unsure why I’m seeing linux software, like gnome, and mesa.

I tried uninstalling nix, (WOW), and devbox, then installed nix again from the website.

The problem persists. I have no idea how to begin to diagnose the issue.

Someone point me please?

Many nix-env commands work by trying to evaluate every package in Nixpkgs so if there are any errors or warnings, they will be printed.

Looks like the error is probably fallout from mesa: split out the Darwin build into a separate expression by K900 · Pull Request #319047 · NixOS/nixpkgs · GitHub.

CI intentionally builds with aliases disabled to detect alias usage, which is forbidden in Nixpkgs. So that’s probably why it was not caught.

You can disable allowAliases in Nixpkgs configuration (in ~/.config/nixpkgs/config.nix).

1 Like

Let’s just get rid of that alias already: aliases/mesa_drivers: convert to throw by K900 · Pull Request #326351 · NixOS/nixpkgs · GitHub

You can disable allowAliases in Nixpkgs configuration (in ~/.config/nixpkgs/config.nix ).

I will absolutely try this, however what’s the implications of setting this? Anything I should be aware of? I read the link, however I’m just not sure what it all means yet.

I see you merged this. Would trying from scratch again help?

Well you’d need to wait for it to make its way to channels, but once it’s merged, things should just work, yes.

1 Like

You can use the pr tracker to quickly see if the PR has hit channels you’re using yet.

You can also message @nixpkgs-bot:maralorn.de on matrix to get notifications for when that happens.

2 Likes