tobi /disktree

A treemap for finding and removing what fills your disk, for Omarchy. Rust + GPUI.

★ 4,076⑂ 263👁 12⑃ 97● 28▤ 5◈ 0
RustMITCreated 2026-09-24
4,076
stars
+18
263
forks
12
watchers
97
prs
28
issues
5
releases
0
discussions

README

disktree

!disktree: a home directory as a treemap, coloured by kind of data, with reclaimable space hatched and the selection, findings and free space in the side panel

Find what is filling a disk, mark what should go, and remove it — with the
volume's free space in view the whole time.

disktree is a treemap for Omarchy. Choose a local or SSH source, then a
mounted volume or directory; no scan starts until you explicitly accept.
It draws every directory as a nested mosaic sized by its real disk cost,
and lets you walk into it with the keyboard or the mouse. Mark as much as you
like; nothing happens until you review the list and commit, and the permanent
path always asks first.

Built with GPUI through
gpui-omarchy, so it follows your
Omarchy theme and behaves like the rest of the desktop.

 Install

Download disktree--x86_64-linux.tar.gz (aarch64-linux on ARM) from the
latest release, unpack
it, and run ./install.sh inside (or just copy disktree onto your
PATH). Or build it:

sh
git clone https://github.com/tobi/disktree
cd disktree
make install


make install builds a release binary and puts three things under ~/.local
(no root needed):

- ~/.local/bin/disktree
- a desktop entry, so disktree is in the launcher and in a file manager's
  Open with for a directory (it adds a handler; it never becomes the
  default)
- an icon

sudo make install PREFIX=/usr/local installs system-wide; make uninstall
removes exactly what was installed.

On Arch, including Omarchy, disktree is in the AUR:
disktree builds each release
from source, and
disktree-bin installs
the release binary:

sh
yay -S disktree-bin


If another installed version wins on PATH, the installer warns which one.
Run export PATH="$HOME/.local/bin:$PATH" and add that setting to your shell
configuration so the locally installed build takes precedence.

For Linux builds with embedded SSH helpers, also install the two Rust
standard-library targets (no external C cross-compiler is needed):

sh
rustup target add x86_64-unknown-linux-musl aarch64-unknown-linux-musl


You need Rust 1.97 or newer and a Wayland or X11 session with a GPU that GPUI
can drive (Vulkan). Distributions often package an older Rust;
rustup installs a current one. The repo pins 1.97 in
rust-toolchain.toml, so with rustup the right toolchain is fetched on the
first build even if rustup default points at something older.

 macOS

Download disktree--aarch64-macos.zip (x86_64-macos for an Intel Mac)
from the latest release,
unzip it, and drag disktree.app into Applications. macOS 11 or newer.

A release that was not signed and notarized is stopped by Gatekeeper: macOS
says it "is damaged and can't be opened" or "cannot be verified". The app is
fine; the browser marked the download as quarantined. Clear the mark once:

sh
xattr -dr com.apple.quarantine /Applications/disktree.app


(Or open it once, then choose Open Anyway in System Settings › Privacy &
Security.)

Or build it, with Rust 1.97 or newer and Xcode or its Command Line

Top issues

Latest release

disktree 0.11.0 v0.11.0 2026-10-04
What's Changed
 Integrate Windows scanning, drive picker and navigation fixes by @tobi in https://github.com/tobi/disktree/pull/42
 build: pin the toolchain so a fresh clone can't fail on a stale default by @adi0x90 in https://github.com/tobi/disktree/pull/30
 Steam libraries on a second drive show as media, not cache by @btsouth in https://github.com/tobi/disktree/pull/33
 Switching between Size and Files keeps you in the same folder by @btsouth in https://github.com/tobi/disktree/pull/34
 fix(windows): embed icon in executable by @rteoo in https://github.com/tobi/disktree/pull/37
 fix: wire 

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON