summary refs log tree commit diff
path: root/nixos/doc/manual/from_md/configuration/package-mgmt.chapter.xml
blob: d3727edbe08d3cbcf8ae6fe4ef18925e534b34b7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<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>