Installing Every NixOS Package
64 points by untrusem
64 points by untrusem
Humorously, running nix-env -i also installs every package. One of the weirder default behaviors I've ever seen in a package management tool.
Finally, nix store delete will no longer realise installables specified on the command-line; previously, nix store delete nixpkgs#hello would download hello only to immediately delete it again. Now, it exits with an error if given an installable that isn’t in the store.
This one from Lix 2.93 is pretty funny, though yours is definitely worse.
[..] changing my shell from Fish to a Go Fish game, so now I can’t even log in!!!
That was a well educating and fun read. Makes me wonder if there was a decent way of enabling a more sophisticated method of avoiding package bin name symlink collisions in nix by namespacing/prefixing them a bit automatically (since packages are pure anyway, so there shouldn't be any dependence on /run/current-system/sw/bin/ls to be present or a particular place beside impure scripts and an interactive shell).
Running nix-shell -p lolcat starts a shell with /nix/store/hash-lolcat-version/bin/ added to your path, rather than making a new, common bin directory with everything symlinked in. Doing this with every package would probably make a way too long PATH variable, though, and you would want to have a mechanism to change the order/priority to achieve what you describe, if you don't want to prefix the actual filename of the executables (which is also possible/easy in nix).
Submit it to Nixpkgs. There was an npm package called hoarders a long time ago that had everything in it. and I guess people keep doing it. https://socket.dev/blog/when-everything-becomes-too-much
BTW:
error: your NixOS configuration path seems to be missing essential files.
To avoid corrupting your current NixOS installation, the activation will abort.
This could be caused by Nix bug: https://github.com/NixOS/nix/issues/13367.
This is the evaluated NixOS configuration path: /nix/store/vqrhc9rg3vahbpxbjyb5ribnxq1sz2av-nixos-system-nixos-26.05.20251205.f61125a.
Change the directory to somewhere else (e.g., `cd $HOME`) before trying again.
If you think this is a mistake, you can set the environment variable
NIXOS_REBUILD_I_UNDERSTAND_THE_CONSEQUENCES_PLEASE_BREAK_MY_SYSTEM to 1
and re-run the command to continue.
Please open an issue if this is the case.
This warn in nixos-rebuild-ng is a nasty issue in nix where if you run the nix build inside a symlink pointing inside the /nix/store it will resolve the item wrongly, and since nixos-rebuild-ng will try to set this as the current version in the profile this will go horrible wrong. You're lucky that you could activate a new version without having to resort to removing the wrong activate profile.
/run/current-system/sw/bin must be pretty full. I'm surprised using such an obese NixOS does not fail due to overly big env values.
afaik env values don't get larger with this, they'd only get bigger if packages were added via nix shell. installing packages via environment.systemPackages doesn't impact env vars.