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```