aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/nix-collect-garbage.xml
blob: 9dd9b664d9d52fffdda98f1e99d68e42420cb05b (plain)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<refentry xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink">
  
<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>
    <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>
  </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 an
additional option <option>-d</option> (<option>--delete-old</option>)
that 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.</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>