Your machine, one pane.
A fast, aesthetic terminal system dashboard in Rust. The most complete keyboard-driven terminal dashboard — one pane, four modes, zero mouse.
Live terminal dashboard in action. Watch 1080p 60FPS video • Visit Website
Vanta collapses everything you care about into one terminal pane: CPU, memory, disk, network, GPU (and radial thermals), processes, now-playing, GitHub contributions, multiple timezones, a calendar, and an audio visualizer. Keyboard only. ~3 MB binary, ~2–5% CPU at the default 30 fps.
npm install -g @ziuus/vanta && vanta| Method | Command | Notes |
|---|---|---|
| npm | npm install -g @ziuus/vanta |
Fetches the prebuilt linux-x64 binary. No Rust needed. |
| Prebuilt binary | Releases | Download the tar.gz, drop vanta on your PATH. |
| cargo | cargo install --git https://github.com/ziuus/vanta |
Any architecture. Needs a Rust toolchain. |
| From source | git clone https://github.com/ziuus/vanta && cd vanta && cargo run --release |
For hacking on it. |
One-liner, no install:
npx @ziuus/vanta@latestLinux (vanta reads /proc and /sys). Building from source also needs libdbus:
sudo pacman -S dbus # Arch
sudo apt install libdbus-1-dev # Debian / Ubuntu
sudo dnf install dbus-devel # FedoraOptional tools that light up extra panels — vanta degrades quietly without them:
| Tool | Unlocks |
|---|---|
cava |
Audio visualizer (falls back to an idle wave) |
nmcli |
Wi-Fi SSID + signal strength |
nvidia-smi |
NVIDIA GPU utilisation, VRAM, temp |
docker |
Running-container count |
checkupdates |
Pending Arch package updates |
vanta --version # what am I running
vanta --help # usage + keys
npm update -g @ziuus/vanta # update (npm)
npm uninstall -g @ziuus/vanta # remove (npm)
cargo install --git https://github.com/ziuus/vanta --force # update (cargo)
cargo uninstall vanta # remove (cargo)
rm -rf ~/.config/vanta # drop config + persisted theme/pageWhere things live:
| Path | What |
|---|---|
~/.config/vanta/config.toml |
Config, plus the theme / page / visualizer vanta persists for you |
$(npm root -g)/@ziuus/vanta/bin/ |
The npm-installed binary |
~/.cargo/bin/vanta |
The cargo-installed binary |
Vanta respects XDG_CONFIG_HOME if you set it.
| Key | Page | What's on it |
|---|---|---|
1 |
Dashboard | System facts + distro logo, semicircle gauges, CPU graph & cores, storage, big clock, now playing, visualizer, top processes, interactive status, memory, network, calendar |
2 |
Monitor | btop-style: CPU / memory / disk I/O / network / GPU graphs on top, full process table below (sort, filter, tree, kill) |
3 |
Aesthetic | Huge clock, calendar, matrix rain, spinning donut, pinned media (photos), full-width visualizer |
4 |
Workspace | Built-in File Manager (with image previews), Agenda, Tasks, RSS feeds, and Obsidian vault viewer |
? |
Help | Keybind reference overlay |
Every graph on top, every process below. Sort it, filter it, tree it, kill it.
For when the build is running and you want something to look at. Includes support for displaying a custom pinned image.
Includes 7 immersive ambient scenes:
- Audio Visualizer
- Matrix Rain
- Flip Clock
- Topographic Map
- True 3D Starfield (reacts to CPU spikes and music bass)
- Conway's Game of Life (auto-seeding)
- Terminal Snowfall (piles up and melts dynamically)
Turn your terminal into a productivity hub with a built-in file manager (with image previews), RSS news reader, tasks, agenda, and Obsidian vault viewer (with markdown syntax highlighting). Press e on any focused panel to edit the content in your $EDITOR.
Every key, on screen, on any page.
| Key | Action |
|---|---|
1 2 3 4 |
Switch page (persisted as startup page) |
Tab / Shift-Tab |
Cycle panel focus · Esc clears |
Enter |
Zoom the focused panel to the full page · Esc back |
T |
Next theme (persisted) |
v |
Visualizer style: bars / mirror / wave / peaks |
+ / - |
Sample faster / slower |
Space n p |
Play/pause · next · previous (MPRIS, any page) |
< > |
Volume down / up |
? |
Help overlay |
q |
Quit |
~ / F12 |
Toggle Debug Logs overlay (s saves them to file) |
S / , |
Open Settings overlay |
Ctrl + ←/→ |
Resize dashboard columns horizontally (when focused) |
Ctrl + ↑/↓ |
Resize dashboard components vertically (when focused) |
Processes (Monitor): ↑↓ PgUp PgDn Home End select · / filter (Enter keeps, Esc clears) · s sort field · r reverse · t tree · ←→ fold · c full command · k SIGTERM · K SIGKILL (press twice to confirm, x cancels)
Workspace: e opens the active note, agenda, task list, or file in your $EDITOR.
Calendar (focused): ←→ month · ↑↓ year · Home today
dark · catppuccin · tokyo-night · nord · gruvbox · dracula · light · solarized-light
Cycle with T — your choice is written back to the config file.
You can easily load custom themes dynamically without recompiling Vanta.
- Create a
themesfolder inside your config directory (e.g.~/.config/vanta/themes/). - Drop in a
.tomlfile with your theme name (e.g.,cyberpunk.toml). - Define your colors using hex codes:
bg = "#000000" accent = "#00ff00" secondary = "#ff00ff" surface = "#111111" text = "#ffffff" dim = "#555555" green = "#00ff00" yellow = "#ffff00" red = "#ff0000"
- Press
Tin Vanta to cycle to it, or set it explicitly in yourconfig.toml(theme = "cyberpunk").
- Configuration: Run
vanta configto open the interactive settings editor. - First-time Setup: The same setup menu runs automatically when starting Vanta for the first time.
Vanta is fully extensible via WebAssembly (WASM). You can install community widgets, or build your own!
- Install via Menu: Run
vanta menuto browse and install extensions interactively. - Local Dev: Use
vanta link /path/to/my_widget.wasmto instantly test your custom plugin locally without publishing it.
Read more about building plugins at the vanta-integrations repository.
Vanta is highly configurable via ~/.config/vanta/config.toml. You can:
- Change the layout, refresh rates, and themes
- Add your own Custom Widgets using shell commands or files
- Install community-built WASM Extensions to add entirely new UI panels without recompiling
For a complete guide to all configuration options, extensions, and custom widgets, please read: 👉 docs/CONFIGURATION.md
All telemetry is collected on a single background sampler thread (/proc, /sys,
sysinfo, D-Bus) into lock-guarded snapshots; the render loop only reads snapshots
and never blocks on I/O.
| Layer | Technology |
|---|---|
| TUI | Ratatui 0.29 + Crossterm |
| Telemetry | sysinfo, /proc, /sys/class/{hwmon,drm,power_supply} |
| GPU | NVIDIA (nvidia-smi), AMD (sysfs), Intel (clock only) |
| Media | MPRIS over D-Bus (dbus crate) |
| Audio viz | cava raw output, idle wave fallback |
Want to build your own custom widgets (like a Crypto tracker or a File Space viewer)? Vanta supports a powerful, secure WebAssembly (WASM) plugin system via Extism.
Check out the Vanta Extension Developer Guide (EXTENSIONS.md) to learn how to:
- Structure a new Rust WASM plugin out of the box.
- Compile and test your plugin locally (
vanta link). - Publish your plugin to the community registry (
vanta-integrations).
Vanta is explicitly designed to be modified and configured by AI agents (like Cursor, Claude, or Copilot). We provide dedicated skill/prompt files that you can feed directly into your AI:
- For End Users (Configuration): Provide the VANTA_CONFIG_SKILL.md file to your AI. It teaches the agent how to build gorgeous 2D dashboard grids, customize themes, set up performance profiles, and write your
config.toml. - For Developers (WASM Plugins): Provide the AGENTS.md file to your AI. It acts as a complete architecture and API guide, teaching the agent how to write Extism WASM widgets, hook into the host Key-Value mailbox, and compile plugins for Vanta.
Issues and PRs welcome — bug reports, new themes, new panels, or a GPU vendor that isn't covered yet.
git clone https://github.com/ziuus/vanta && cd vanta
cargo run --release
# CI runs exactly this — make it pass first
cargo fmt --all -- --check
cargo clippy --all-targets -- -D warnings
cargo testRead CONTRIBUTING.md first — it covers how the code is laid
out, the sampler-thread rule (never do I/O inside a render()), the panel
degradation contract, and how to add a theme.
Good first contributions:
- A new theme in
src/theme.rs(add a constructor + its name toTHEME_NAMES) - Per-interface network stats
- NVMe / extra
hwmontemperature sources - Mouse click-to-focus
MIT — do what you like, keep the notice.
built by zius · if it's useful, a ⭐ helps


