The most elegant way to keep your Linux system lean and mean. Inspired by the minimalist philosophy of Mole on macOS.
- All-in-one toolkit: Combines package managers (DNF/APT/Pacman), App Uninstaller, Disk Analyzer, and Monitor in a single tool.
- Intelligent cleanup: Features a proactive detection engine that auto-discovers unknown apps, AppImage remnants, and orphaned data.
- AI Developer ready: Reclaims gigabytes with age-aware purging for Hugging Face, Ollama, PyTorch, and CUDA caches.
- Cross-distro support: Deep cleans Ubuntu Snaps, Multipass, Flatpaks, and Fedora Podman/Docker environments.
- Disk insights: Ultra-fast disk explorer powered by a Rust scanning engine with parallel I/O.
- Live monitoring: Real-time dashboard showing CPU, GPU, memory, and top resource-consuming processes.
Script Installation
curl -fsSL https://raw.githubusercontent.com/Jesencloud/Topo/main/install.sh | bashThe script installer keeps Topo under ~/.topo, detects x86_64 or ARM64, provisions the optimized engine, and uses Topo's built-in topo update / topo remove lifecycle.
GitHub Release Packages
Download the matching package from the latest release, then install it with your system package manager:
sudo apt install ./topo_xxx_amd64.deb
sudo dnf install ./topo-xxx-1.x86_64.rpmReplace xxx with the version from the release you downloaded. Use topo_xxx_arm64.deb on Debian/Ubuntu ARM64 systems and topo-xxx-1.aarch64.rpm on Fedora/RHEL ARM64 systems. Package installs place Topo under /usr/lib/topo and expose /usr/bin/topo; after installation, use topo update and topo remove for lifecycle management.
ββββββββ ββββββ ββββββ ββββββ
ββ ββ ββ ββ ββ ββ ββ
ββ ββ ββ ββββββ ββ ββ
ββ ββ ββ ββ ββ ββ
ββ ββββββ ββ ββββββ
β Topo is digging deeper 𦑠𦑠π¦‘
Main Menu
> 1. Clean Free up disk space
2. Uninstall Remove apps completely
3. Optimize Check and maintain system
4. Analyze Explore disk usage
5. Status Monitor system health
β/β | M: Mute | Enter: Select | ESC: Quitoptions:
-h, --help show this help message and exit
--version show program's version number and exit
commands:
COMMAND
clean One-key safe disk cleanup
analyze Interactive disk usage explorer
uninstall Completely remove applications and residues
optimize Run system maintenance (fstrim, databases, etc.)
purge Interactive project artifact purging
status Monitor system health and resource usage
history Show recent deletion history
all Run all cleanup and purge tasks sequentially
authorize Setup passwordless sudo for faster cleanup
update Update topo to the latest version
remove Uninstall topo from the system
link Create a symbolic link for the 'topo' command
whitelist Manage manual path protection whitelist
Quick Start:
topo Open the interactive TUI
topo clean --dry-run Preview cleanup without deleting
topo analyze Explore disk usage
topo status Show system health
topo history --limit 5 Show the last 5 cleanup sessions
Whitelist:
topo whitelist list Show manual protection rules.
topo whitelist add PATH Protect PATH from cleanup.
topo whitelist remove PATH Remove a manual rule.
Notes:
An empty whitelist is normal before you add a path.
Built-in protections cover system paths, credentials, and XDG folders.
Run topo whitelist --help for whitelist details.
Run topo COMMAND --help for command-specific options.
Topo is built for performance but governed by safety. It uses Home Directory Isolation for manual cleanup and a Global Whitelist to ensure critical system paths remain untouched.
It adopts a Zero-Interruption policy: administrative tasks are pre-authorized so your "One-Key Clean" runs unattended from start to finish.
Clean Your Linux
β Use 'topo clean --dry-run' to preview, 'topo whitelist --help' for whitelist details.
β System caches need sudo. Enter continue, Space skip:
β System cleanup requires admin access
β Password:
β Authorization successful.
β€ System & Package Manager
β Cleaned DNF cache (1.2 GB)
β Vacuumed journal logs (218 MB)
β€ Developer Tools & AI Models
β Cargo cache (44.5 MB) cleaned
============================================================
Cleanup complete
Breakdown:
β’ Package Manager Cache 1.2 GB (1 items)
β’ Developer Artifacts 44.5 MB (1 items)
Total space freed: 1.25 GB | Items: 2
Free space now: 482.2 GB
============================================================Select apps to remove and Topo will find all associated residues.
Select Application to Remove 2/54 selected
β 1. cursor 837.1 MiB | 2d ago
β 2. wechat 715.8 MiB | Just now
βΆ β 3. brave-browser 428.7 MiB | 4d ago
β 4. google-chrome-stable 404.0 MiB | 4d ago
β 5. Thunderbird 368.7Β MB | 13d ago
β 6. java-25-openjdk-headless 236.8 MiB | 20d ago
β 7. clash-verge 235.8 MiB | 6d ago
β 8. glibc-all-langpacks 227.2 MiB | 20d ago
β 9. rust-std-static 162.7 MiB | 6d ago
β 10. llvm-libs 140.5 MiB | 4d ago
β 11. cldr-emoji-annotation 122.4 MiB | 1mo ago
β 12. gcc 120.8 MiB | 14d ago
β 13. libreoffice-calc 27.4 MiB | 11d ago
β 14. orca 22.2 MiB | 20d ago
β 15. papers 14.6 MiB | 20d ago
Page 1/4 | ββββ | A: All | N: Name | S: Size β | T: Time | Space: Select
β Selected Apps to Remove: Press Enter to Uninstall, ESC to Exit
β’ brave-browser β’ Thunderbird Topo records cleanup and uninstall deletion events so you can review what changed after a run.
$ topo history --limit 5
topo 0.8.0 (Python Edition)
System: fedora
Deletion History
2026-06-04T18:17:03+08:00 -> 2026-06-04T18:17:05+08:00 uninstall wechat
removed=2 trashed=0 skipped=0 failed=0 size=820.4 MiB
removed wechat
deleted /home/users/.xwechat
Powered by a dedicated Rust engine, Topo scans hundreds of thousands of files in milliseconds.
Exploring: /home/users/.config/Cursor
Select a location to explore (Type numbers or Space to select):
β 1. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 59.9% ποΈ WebStorage | 109.4 MiB
β 2. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 11.5% ποΈ CachedExtensionVSIXs | 21.0 MiB
β 3. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 6.8% ποΈ Cache | 12.4 MiB
β 4. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 5.6% ποΈ User | 10.3 MiB
β 5. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 5.3% ποΈ CachedData | 9.7 MiB
β 6. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 4.3% ποΈ GPUCache | 7.9 MiB
βΆ β 7. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 1.6% ποΈ logs | 2.8 MiB
β 8. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 1.1% ποΈ clp | 2.0 MiB
β 9. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 0.9% ποΈ Partitions | 1.7 MiB
β 10. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 0.9% ποΈ process-monitor | 1.6 MiB
β 11. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 0.6% ποΈ CachedProfilesData | 1.1 MiB
β 12. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 0.4% ποΈ Local Storage | 789.5 KiB
β 13. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 0.3% ποΈ DawnWebGPUCache | 544.4 KiB
β 14. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 0.3% ποΈ DawnGraphiteCache | 544.4 KiB
β 15. β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ 0.2% ποΈ Dictionaries | 441.4 KiB
Page 1/3 | ββββ | A:All | F:Open Folder | R:Reload | S:Sort β | Space:Select
β Selected Items to Remove: Enter:Delete
β’ ποΈ Cache β’ ποΈ logs- Multi-Arch Native: Optimized binaries for both x86_64 and ARM64 (Apple Silicon, Raspberry Pi).
- Self-Learning Registry: Automatically learns your installed apps to provide process-safe, high-precision cleaning without relying solely on hardcoded lists.
- Terminal History Protection: Uses the Alternate Screen Buffer to ensure your terminal session history is perfectly preserved upon exit.
- Intelligent Silence: "Silent on zero-gain" policyβonly shows what actually matters.
- Zero-Latency UI: Built-in ScanCache for instant directory navigation.
- Hybrid Power: High-level flexibility of Python combined with the raw speed of Rust.
MIT License. Developed with β€οΈ for the Linux community.
