Skip to content

Zingzy/diskbloom

Repository files navigation

✿ diskbloom

see what's eating your disk, in bloom

A pastel, WizTree-style treemap disk visualizer that lives in your terminal.

Latest Release CI Go Report Card License

diskbloom scanning a directory, drilling three levels deep, and climbing back out

Theme: Catppuccin Mocha · Font: JetBrains Mono · Recorded with VHS

Features

  • 🌸 Pastel treemap: every file type gets its own hue, ranked by size so the types you have are the most distinct
  • 🪆 Nested mosaic: regions are recursively subdivided (WizTree-style), so a big folder reads as a map of its contents, not an empty box
  • Fast concurrent scanning: bounded-parallel walker measuring real on-disk allocation, with hardlink dedup so shared data counts once
  • 🌳 Dual-pane tree view: a WizTree-style tree with size bars alongside the map, plus an extension color legend
  • 🗑️ Safe delete: ctrl+x sends to Trash by default; permanent delete always requires typing it out
  • 👀 Quick Look & open: space previews (macOS), enter opens files in their default app
  • 🖱️ Mouse included: click to select, click again to open; scroll either pane
  • 🪶 Single static binary: Go all the way down, no dependencies

Installation

diskbloom supports macOS and Linux. A truecolor terminal is recommended for the full palette.

Homebrew (recommended)

brew install Zingzy/tap/diskbloom

Go

go install github.com/Zingzy/diskbloom@latest

Binaries

Prebuilt binaries for macOS (arm64/amd64) and Linux (amd64/arm64) are on the releases page.

Build from source

Requires Go 1.26+.

git clone https://github.com/Zingzy/diskbloom
cd diskbloom
go build -o diskbloom .

Usage

diskbloom            # scan the current directory
diskbloom ~/Movies   # scan a specific path

diskbloom inside node_modules: the tree pane lists folders with size bars, the treemap shows nested colored regions

Reading the map:

  • Area is size on disk: a tile twice as big takes twice the space (allocated blocks, like WizTree, so it matches what deleting actually frees)
  • Color is file type: the legend (bottom-left) maps extensions to hues; folders take the color of their dominant content
  • Nesting is structure: the mosaic inside a region is that folder's contents, three levels deep
  • Brightness is share: bigger slices of the parent glow brighter, so the heavy stuff pops

Keybindings

Press ? inside diskbloom for the full list.

Key Action
←↑↓→ / hjkl Move spatially between regions
enter Drill into a folder · open a file
esc / backspace Go up a level
space Quick Look preview (macOS)
ctrl+x Delete: enter Trash · shift+enter permanent
tab Switch focus between treemap and tree pane
t Toggle the tree pane
m Toggle the extension color map
r Rescan
q / ctrl+c Quit

How it works

A concurrent os.ReadDir walker measures on-disk allocation and dedups hardlinks by {dev, ino} (internal/scan); the squarified treemap algorithm with cell-aspect correction keeps tiles visually square despite terminal cells being ~2× taller than wide (internal/treemap); a renderer fuses adjacent rounded borders into single lines and recursively subdivides regions (internal/render); per-extension hues are stepped by the golden angle so the palette spreads itself out (internal/theme). Glued together with Bubble Tea v2.

Alternatives

  • WizTree (Windows GUI), the inspiration for the nested treemap and color map
  • diskonaut (Rust), terminal treemap whose spatial navigation this follows
  • gdu (Go), ncdu-style list and the reference fast scanner
  • dust (Rust), du with a bar chart
  • dua-cli (Rust), interactive list-based analyzer
  • ncdu (C/Zig), the classic

Roadmap

  • macOS getattrlistbulk fast path (batches name+size+type per syscall)
  • live-updating treemap that grows while scanning
  • aggregated "small files" tile + zoom, instead of hiding tiny entries
  • half-block () rendering mode for double-resolution density

Contributing

Issues and pull requests are welcome! To report a bug, simply open a new issue.

License

Apache-2.0


Built with 🌸 and Bubble Tea · Lip Gloss · VHS


© zingzy . 2026

All Rights Reserved

About

🌸 a pastel treemap TUI that shows what's eating your disk

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages