aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/command-ref/nix-collect-garbage.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual/command-ref/nix-collect-garbage.xml')
-rw-r--r--doc/manual/command-ref/nix-collect-garbage.xml68
1 files changed, 68 insertions, 0 deletions
diff --git a/doc/manual/command-ref/nix-collect-garbage.xml b/doc/manual/command-ref/nix-collect-garbage.xml
new file mode 100644
index 000000000..f2009dcbd
--- /dev/null
+++ b/doc/manual/command-ref/nix-collect-garbage.xml
@@ -0,0 +1,68 @@
+<refentry 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-nix-collect-garbage">
+
+<refmeta>
+ <refentrytitle>nix-collect-garbage</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Nix</refmiscinfo>
+ <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo>
+</refmeta>
+
+<refnamediv>
+ <refname>nix-collect-garbage</refname>
+ <refpurpose>delete unreachable store paths</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>nix-collect-garbage</command>
+ <arg><option>--delete-old</option></arg>
+ <arg><option>-d</option></arg>
+ <arg><option>--delete-older-than</option> <replaceable>period</replaceable></arg>
+ <group choice='opt'>
+ <arg choice='plain'><option>--print-roots</option></arg>
+ <arg choice='plain'><option>--print-live</option></arg>
+ <arg choice='plain'><option>--print-dead</option></arg>
+ <arg choice='plain'><option>--delete</option></arg>
+ </group>
+ <arg><option>--dry-run</option></arg>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsection><title>Description</title>
+
+<para>The command <command>nix-collect-garbage</command> is mostly an
+alias of <link linkend="rsec-nix-store-gc"><command>nix-store
+--gc</command></link>, that is, it deletes all unreachable paths in
+the Nix store to clean up your system. However, it provides two
+additional options: <option>-d</option> (<option>--delete-old</option>),
+which deletes all old generations of all profiles in
+<filename>/nix/var/nix/profiles</filename> by invoking
+<literal>nix-env --delete-generations old</literal> on all profiles
+(of course, this makes rollbacks to previous configurations
+impossible); and
+<option>--delete-older-than</option> <replaceable>period</replaceable>,
+where period is a value such as <literal>30d</literal>, which deletes
+all generations older than the specified number of days in all profiles
+in <filename>/nix/var/nix/profiles</filename> (except for the generations
+that were active at that point in time).
+</para>
+
+</refsection>
+
+<refsection><title>Example</title>
+
+<para>To delete from the Nix store everything that is not used by the
+current generations of each profile, do
+
+<screen>
+$ nix-collect-garbage -d</screen>
+
+</para>
+
+</refsection>
+
+</refentry>