Marmot is a premium, Linux-native alternative to Mac system utilities, specifically customized for Debian-based systems. It runs entirely as a regular user, dynamically escalating privileges via Polkit (
pkexec) only when administrative actions are triggered.
- All-in-One Linux Toolkit: Replaces system monitors,
ncdu,apt-get clean,journalctl, and custom scanning scripts in a single TUI interface. - Bento System Monitor: Real-time CPU usage/temperature, RAM, Swap allocation, Network bandwidth, and Disk volume states.
- Deep Cleaner: Safely vacuums user caches (
~/.cache), system trash, apt cache archives, systemd logs, and developer build files (node_modules,.venv, etc.). - Smart Package Uninstaller: Searches Debian packages, queries active configuration/remnant files in user directories, and purges them safely.
- Disk Usage Analyzer: Interactive tree explorer (an alternative to
ncdu) allowing you to recursively navigate folders and inspect sizes asynchronously. - System Optimizer: One-click actions to sync & drop RAM page cache, flush DNS resolvers, reset failed systemd services, and cycle swap space safely.
Ensure Python 3.13 & pip are installed
sudo apt update && sudo apt install -y python3-venv python3-pipClone and Setup
git clone https://github.com/aquistusfami/Marmot.git ~/Marmot
cd ~/Marmot
python3 -m venv .venv
.venv/bin/pip install --upgrade pip
.venv/bin/pip install textual richRun
./marmotTAB/Shift+TAB: Switch between active Tabs (Monitor,Cleaner,Uninstaller,Disk Analyzer,Optimizer)Arrow Keys/h/j/k/l: Navigate through lists, checkbox options, and directoriesEnter: Select, toggle checkboxes, trigger scan/action buttonsq: Quit Marmot
Marmot is designed from the ground up for Debian's strict security model:
- Regular User Execution: The entire TUI runs as a non-privileged user. It does not run as
rootor requiresudo ./marmot, protecting the system from interface-level vulnerabilities. - Polkit Integration (
pkexec): When administrative actions (like RAM dropping or APT cleaning) are executed, Marmot invokespkexecto securely prompt the user for password authentication. - Dirty RAM Syncing: Before purging RAM caches, Marmot runs
syncto flush all pending filesystem changes, guaranteeing zero data loss. - Swap Reset Safety: Before cycling swap memory, Marmot verifies that
free RAM > active swapto prevent Out-Of-Memory (OOM) lockups.
Shows a multi-card dashboard updating system statistics on a 1-second interval:
┌── CPU STATUS ─────────────────────────┐ ┌── MEMORY STATUS ──────────────────────┐
│ Usage: 8.4% │ │ RAM: 4.82 GB / 15.60 GB (30.9%) │
│ [████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] │ │ [██████████░░░░░░░░░░░░░░░░░░░░░░░░] │
│ Temp: 42°C │ │ Swap: 0 MB / 2.00 GB (0.0%) │
└───────────────────────────────────────┘ └───────────────────────────────────────┘
Scans and checks items safely before removing them:
Select areas to clean:
[x] User Caches (~/.cache) (4.82 GB)
[x] System Trash Bin (1.20 GB)
[ ] APT Package Archives (0 B)
[ ] Systemd Logs (keep last 3 days) (120.4 MB)
[ ] Developer Junk (node_modules, target, venv) (15.42 GB)
Search installed packages and purges configuration remnants:
Search installed packages:
[ curl ]
* curl (7.88.1-10+deb12u5)
* libcurl4 (7.88.1-10+deb12u5)
---------------------------------------
Remnant config files found in:
~/.config/curl/
~/.cache/curl/