Soft-deletion CLI tool with FreeDesktop Trash compatibility.
Email when the CI fails.
Adds a NixOS CI config, to catch future flake breakage.
Updates flake dependencies.



You can also use your local clone with git send-email.


Build Status crates.io

Rust ver of trash-cli.

  • Windows/Recycle Bin not supported


cargo install garbage


Run garbage --help to understand how it's used!

$ garbage put file1 file2 ...

$ garbage restore

$ garbage list

$ garbage empty [days]

If you use a bash-ish shell, feel free to add this to your shell's rc file:

alias rm='garbage put' # Make sure garbage is in your path


  • [x] Put
  • [x] List
  • [x] Restore
  • [ ] Tests...

#Spec Compliance

  • [x] Picking a Trash Directory
  • [x] Emptying
  • [ ] Directory size cache (optional)


If you find a bug or are requesting a feature, file it here: https://todo.sr.ht/~mzhang/garbage


Author: Michael Zhang

License: GPLv3, see LICENSE.md for full text.