<chapter xmlns="http://docbook.org/ns/docbook"  xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" 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:
  </para>
  <itemizedlist>
    <listitem>
      <para>
        <emphasis>Declarative</emphasis>, where you declare what
        packages you want in your <literal>configuration.nix</literal>.
        Every time you run <literal>nixos-rebuild</literal>, 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 <literal>nix-env</literal> command.
        This style allows mixing packages from different Nixpkgs
        versions. It’s the only choice for non-root users.
      </para>
    </listitem>
  </itemizedlist>
  <xi:include href="declarative-packages.section.xml" />
  <xi:include href="ad-hoc-packages.section.xml" />
</chapter>
