Package Management
This section describes how to add additional packages to your system. NixOS
has two distinct styles of package management:
Declarative, where you declare what packages you want
in your configuration.nix. Every time you run
nixos-rebuild, NixOS will ensure that you get a
consistent set of binaries corresponding to your specification.
Ad hoc, where you install, upgrade and uninstall
packages via the nix-env command. This style allows
mixing packages from different Nixpkgs versions. It’s the only choice
for non-root users.