Nix refers to a few different things:
There are two different Nix CLIs currently active:
nixexecutable and supports flakes
The unified CLI is a still-experimental way of using Nix that involves just one executable called
All Nix functionality is wrapped into this tool, including commands like
nix build for building packages instead of the old
nix develop for activating Nix development environments instead of the old
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
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-buildfor building packages,
nix-shellfor Nix development environments,
nix-storefor managing the Nix store, and several more.