2020-07-24 13:56:19 +03:00
|
|
|
# Name
|
2020-07-23 13:58:42 +03:00
|
|
|
|
2020-07-24 13:56:19 +03:00
|
|
|
`nix-collect-garbage` - delete unreachable store paths
|
2020-07-23 13:58:42 +03:00
|
|
|
|
2020-07-24 13:56:19 +03:00
|
|
|
# Synopsis
|
2020-07-23 13:58:42 +03:00
|
|
|
|
2020-07-24 13:56:19 +03:00
|
|
|
`nix-collect-garbage` [`--delete-old`] [`-d`] [`--delete-older-than` *period*] [`--max-freed` *bytes*] [`--dry-run`]
|
2020-07-23 13:58:42 +03:00
|
|
|
|
|
|
|
# Description
|
|
|
|
|
|
|
|
The command `nix-collect-garbage` is mostly an alias of [`nix-store
|
2023-03-23 17:27:41 +02:00
|
|
|
--gc`](@docroot@/command-ref/nix-store/gc.md), that is, it deletes all
|
2020-07-24 16:46:16 +03:00
|
|
|
unreachable paths in the Nix store to clean up your system. However,
|
|
|
|
it provides two additional options: `-d` (`--delete-old`), which
|
|
|
|
deletes all old generations of all profiles in `/nix/var/nix/profiles`
|
|
|
|
by invoking `nix-env --delete-generations old` on all profiles (of
|
|
|
|
course, this makes rollbacks to previous configurations impossible);
|
|
|
|
and `--delete-older-than` *period*, where period is a value such as
|
|
|
|
`30d`, which deletes all generations older than the specified number
|
|
|
|
of days in all profiles in `/nix/var/nix/profiles` (except for the
|
|
|
|
generations that were active at that point in time).
|
2020-07-23 13:58:42 +03:00
|
|
|
|
2023-03-23 17:27:41 +02:00
|
|
|
{{#include ./opt-common.md}}
|
|
|
|
|
|
|
|
{{#include ./env-common.md}}
|
|
|
|
|
2020-07-23 13:58:42 +03:00
|
|
|
# Example
|
|
|
|
|
|
|
|
To delete from the Nix store everything that is not used by the current
|
|
|
|
generations of each profile, do
|
|
|
|
|
2020-07-31 16:43:25 +03:00
|
|
|
```console
|
|
|
|
$ nix-collect-garbage -d
|
|
|
|
```
|