I just removed a package, ingen
:
nix-env -e ingen
It supposedly succeeded:
nix-env -q | grep ingen
shows nothing.
But it remains on my path:
/nix/var/nix/profiles/default/bin/ingen
What to do now?
I just removed a package, ingen
:
nix-env -e ingen
It supposedly succeeded:
nix-env -q | grep ingen
shows nothing.
But it remains on my path:
/nix/var/nix/profiles/default/bin/ingen
What to do now?
Its still in an older generation of your environment. You need to nix-collect-garbage
and it will eventually get deleted.
I’m not sure I understand. It’s still in my profile’s executable path. Older generations shouldn’t affect my current one, right?
I restarted my X session and it’s still in my path.
nix-collect-garbage -d
did not seem to help.
Perhaps something in your environment still depends on it?
Have you checked nix-enc --query --installed
?
Good call.
That gives me the exact same as nix-env -q
.
imgen
is not found.
Its the same commands, haven’t seen you have it already tried.
If you try the command as root
?
I see. I thought maybe it show transitive dependencies too, or something.
That worked! Thanks!
I’m not sure I understand why though.
Because in a multi user install, everything installed by root is available for every user. It’s in the “default” profile/environment.
But I don’t recall installing it as root. It may have been installed via configuration.nix
. But when I switched to unstable and switch
ed, its version should also have been unstable – this was stable. This is what initially alerted me to the situation.
root is essentially “the system” (different user) for nix-env and nix-channels.
do: sudo nix-channels --list
and it will probably be a stable release
Doh! Both unstable and stable are in there. I can see how that would allow it to persist.
Thanks.
This is really common when people ask, “why does this show packages twice? nix-env -qa <package>
”.
The usual answer is that the nix cli is able to read from both nix-channels lists