Nix refers to a few different things:
There are two different Nix CLIs currently active:
nix
executable and supports flakesThe unified CLI is a still-experimental way of using Nix that involves just one executable called nix
.
All Nix functionality is wrapped into this tool, including commands like nix build
for building packages instead of the old nix-build
tool, nix develop
for activating Nix development environments instead of the old nix-shell
tool, nix store
for managing the Nix store instead of the old nix-store
tool, and more.
Because the unified CLI isn't yet official, it needs to be explicitly enabled in your Nix configuration by adding nix-command
to your experimental-features
list.
We won't cover setting up the unified CLI here because the Determinate Nix Installer both installs it and enables it in your Nix configuration.
The original CLI for Nix is still the official CLI but, as we mention above, not recommended for new Nix users for two reasons:
nix-build
for building packages, nix-shell
for Nix development environments, nix-store
for managing the Nix store, and several more.The Determinate Nix Installer enables the unified CLI by default, but leaves the tools from the original CLI accessible.