No need to pollute your system environment
In the last post we discussed why it might not we wise to pollute your system (or global) environment by installing programs you’ll only run once.
Often, these programs are installed and then forgotten about causing unnecessary bloat.
A pristine system is easily maintained.
When to use
We also showed in the last post how we could use nix-shell to temporarily bring programs into our path. This is still a viable option for running a once off command.
nix-shell -p python --command 'python --version'
An alternative is to use
nix run nixpkgs.python -c python --version
Or, if you’re using Nix Flakes.
nix run nixpkgs#python -- --version
If you want to bring multiple programs into your path in one go, I would use
nix-shell and make it a two step process. Otherwise,
nix run is more convenient.
I know what binary I want to run, but don’t know in which nixpkg it lives
The Nix ecosystem provides an easy mechanism for running once-off commands without polluting your system or global environment.
Till next time.