1# Package Management {#sec-package-management}
2
3This section describes how to add additional packages to your system.
4NixOS has two distinct styles of package management:
5
6- *Declarative*, where you declare what packages you want in your
7 `configuration.nix`. Every time you run `nixos-rebuild`, NixOS will
8 ensure that you get a consistent set of binaries corresponding to
9 your specification.
10
11- *Ad hoc*, where you install, upgrade and uninstall packages via the
12 `nix-env` command. This style allows mixing packages from different
13 Nixpkgs versions. It's the only choice for non-root users.
14
15```{=include=} sections
16declarative-packages.section.md
17ad-hoc-packages.section.md
18```