| Crates.io | cleansys |
| lib.rs | cleansys |
| version | 0.3.2 |
| created_at | 2025-06-05 10:37:23.559662+00 |
| updated_at | 2025-11-13 18:17:33.078998+00 |
| description | A modern terminal user interface for Linux system cleanup similar to BleachBit only faster, written in Rust and memory safe. |
| homepage | |
| repository | https://github.com/sorinirimies/cleansys |
| max_upload_size | |
| id | 1701339 |
| size | 1,942,644 |
CleanSys is a modern, terminal-based utility for Linux that helps you safely clean your system. It provides a beautiful interactive TUI to remove unnecessary files, clean caches, and free up disk space with real-time animations and detailed progress tracking.

sudo cleansys
# Run terminal UI explicitly
cleansys tui
# Run text-based interactive menu
cleansys menu
# Run user-level cleaners with confirmation
cleansys user
# Run user-level cleaners without prompts
cleansys user --yes
# Run system-level cleaners (requires root)
sudo cleansys system
# Run system cleaners without prompts
sudo cleansys system --yes
# List all available cleaners
cleansys list
# Show verbose output
cleansys --verbose
โ/โ or j/k: Navigate itemsTab/Shift+Tab: Switch between categoriesj/k: Scroll detailed items list (vi-style)PgUp/PgDn: Scroll operation logHome/End: Jump to first/last itemSpace: Toggle selectionEnter: Run selected cleanersa: Select all in current categoryn: Deselect all in current categoryESC: Cancel operation or return to menuq: Exit applicationc: Cycle chart types (Bar โ Pie Count โ Pie Size)m: Toggle compact modev: Cycle view modes (Standard/Compact/Detailed/Performance)p: Toggle performance statisticss: Toggle auto-scroll log/: Toggle search in detailed view?: Show/hide helpCleanSys features a fully responsive terminal interface with multiple breakpoints:
| Terminal Width | Layout Features |
|---|---|
| < 60 columns | Minimal UI, chart hidden, essential information only |
| 60-79 columns | Compact layout with reduced chart |
| 80-119 columns | Balanced layout with full chart |
| 120+ columns | Spacious layout with maximum information density |
Press c to cycle through different chart types:
All charts automatically adapt to terminal size and include:
After cleaning operations, view comprehensive details:
j/k or PgUp/PgDn/# Launch TUI (default behavior)
cleansys
# Navigate with arrow keys
# Select cleaners with Space
# Press Enter to run
# Clean user caches without prompts
cleansys user --yes
# Clean system caches with verbose output
sudo cleansys system --verbose --yes
cleansys list
Output:
AVAILABLE CLEANERS
User cleaners (no root required):
โข Browser Caches
โข Application Caches
โข Thumbnail Caches
...
System cleaners (root required):
โข Package Manager Caches
โข System Logs
โข System Caches
...
CleanSys is organized into clean, modular components:
src/
โโโ cleaners/ # Individual cleaner implementations
โ โโโ user_cleaners.rs
โ โโโ system_cleaners.rs
โโโ utils/ # Utility functions (permissions, formatting)
โโโ app.rs # Application state and logic
โโโ events.rs # Event handling (keyboard, resize)
โโโ render.rs # UI rendering logic
โโโ pie_chart.rs # Chart visualization component
โโโ menu.rs # Text-based interactive menu
โโโ main.rs # Entry point and TUI setup
โโโ lib.rs # Public API and documentation
CleanSys supports Linux-based operating systems including:
Run the test suite:
# Run all tests
cargo test
# Run with output
cargo test -- --nocapture
# Run specific test module
cargo test --test integration_tests
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
CleanSys uses VHS to create terminal session recordings. The demo tapes showcase:
demo.tape: Main demo showing both user and system cleanersuserland-cleaners.tape: Detailed walkthrough of user-level cleaning (no root required)system-cleaners.tape: Detailed walkthrough of system-level cleaning (requires authentication)# Install VHS (requires Go)
# See: https://github.com/charmbracelet/vhs#installation
# Generate main demo
just vhs
# Generate userland cleaners demo
just vhs-userland
# Generate system cleaners demo
just vhs-system
# Generate all demos
just vhs-all
# Clean generated demos
just vhs-clean
All generated GIF files are output to demo/target/ and are git-ignored.
Note: Always review what will be cleaned before running system-level operations. While CleanSys is designed to be safe, it's good practice to understand what's being removed from your system.