#cleanup #garbage-collection #generations #profile #old #nix

app nix-sweep

Utility to clean up old Nix profile generations and left-over garbage collection roots

18 releases (7 breaking)

Uses new Rust 2024

0.8.0 Nov 10, 2025
0.6.1 Aug 6, 2025
0.5.1 Jun 22, 2025
0.1.6 Mar 12, 2025

#715 in Filesystem

MIT license

110KB
2.5K SLoC

nix-sweep

nix-sweep aims to provide a nice interface for cleaning up old Nix profile generations and left-over garbage collection roots.

nix-sweep demo

Size Calculations

Calculating the size of the Nix paths may take a few moments, especially on older hardware. If you want to avoid that overhead you can use --no-size to skip size calculations.

Presets

nix-sweep allows you to create presets for clean out criteria, that can then be used with nix-sweep cleanout.

Preset configs are stored as TOML files. If a preset is present in multiple of those files, then the ones further down in the list override ones further up. The following locations are checked for preset files:

  • /etc/nix-sweep/presets.toml
  • $XDG_CONFIG_HOME/nix-sweep/presets.toml/~/.config/nix-sweep/presets.toml
  • configuration files passed via -C/--config

Example:

[housekeeping]
keep-min = 10
remove-older = 14d
interactive = true
gc = false

Presets can be used with the -p (--preset) flag:

nix-sweep -p housekeeping system
nix-sweep -p only-remove-really-old system
nix-sweep -p nuke-everything system

Contributing

Code contributions (pull request) are currently not accepted. If you have any feedback, ideas or bugreports feel free to open a new issue

Dependencies

~6–11MB
~250K SLoC