LCleaner
A native GTK4 system cleaner for Arch and CachyOS with 17 cleaners


What it is
LCleaner is a system cleaner for Arch and CachyOS. I built it because the biggest disk hog on my machine turned out to be stray cargo target directories, about 156 GiB, and nothing native surfaced that cleanly. It is dark-first with a single warm amber accent and tabular numerals for sizes.
It is a single-crate Rust app on GTK4 and libadwaita. The architecture is disciplined: a CleanerKind array is the single source of truth, so adding one of the 17 cleaners means extending that array plus a scanner and a cleaner. Scanners are read-only size estimators that never mutate, and cleaning uses explicit argv with no shell, escalating through run0, then pkexec, then sudo only when needed. Sizes use allocated blocks with hardlink dedupe, so the numbers are honest.
Destructive cleaners like orphan removal, old kernels, and cargo caches are gated behind previews and confirmation. It also has a Cairo donut chart, a duplicate finder, and scan-history diffs.
Features
- 17 cleaners from pacman cache and orphans to cargo build dirs and old kernels
- Scanners only estimate sizes and never mutate; cleaning uses explicit argv
- Privilege escalation ladder of run0, then pkexec, then sudo
- Animated Cairo donut chart and a where-the-space-went disk insight
- Gated destructive actions with per-item previews and confirm dialogs
- Duplicate finder, scan history diffs and a systemd auto-clean timer
Stack
17 cleaners · ~6,100 lines of Rust · 58 tests