about summary refs log tree commit diff
path: root/nixpkgs/nixos/doc/manual/configuration/package-mgmt.xml
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/nixos/doc/manual/configuration/package-mgmt.xml')
-rw-r--r--nixpkgs/nixos/doc/manual/configuration/package-mgmt.xml31
1 files changed, 31 insertions, 0 deletions
diff --git a/nixpkgs/nixos/doc/manual/configuration/package-mgmt.xml b/nixpkgs/nixos/doc/manual/configuration/package-mgmt.xml
new file mode 100644
index 000000000000..e8ac5d0681a9
--- /dev/null
+++ b/nixpkgs/nixos/doc/manual/configuration/package-mgmt.xml
@@ -0,0 +1,31 @@
+<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>