<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="sec-package-management"> <title>Package Management</title> <para>This section describes how to add additional packages to your system. NixOS has two distinct styles of package management: <itemizedlist> <listitem><para><emphasis>Declarative</emphasis>, where you declare what packages you want in your <filename>configuration.nix</filename>. Every time you run <command>nixos-rebuild</command>, NixOS will ensure that you get a consistent set of binaries corresponding to your specification.</para></listitem> <listitem><para><emphasis>Ad hoc</emphasis>, where you install, upgrade and uninstall packages via the <command>nix-env</command> command. This style allows mixing packages from different Nixpkgs versions. It’s the only choice for non-root users.</para></listitem> </itemizedlist> </para> <xi:include href="declarative-packages.xml" /> <xi:include href="ad-hoc-packages.xml" /> </chapter>