Skip to content

tkslucas/Neodisk

Repository files navigation

Neodisk icon

Neodisk

Read-only MacOS disk space visualizer. Treemap and sunburst views on the NeodiskKit scan engine.
Download

Platform: macOS 14+ Latest version License: GPLv3

Changes view: files that grew, shrank, appeared, or were deleted since the last scan Duplicates view: files with identical content grouped by reclaimable space Sunburst view of a folder, sized by disk usage from the center out

Download

Download Neodisk.dmg and drag Neodisk onto the Applications folder.

Versioned builds and a .zip fallback are on the Releases page.

Requires macOS 14 (Sonoma) or later.

About

Read-only by design. Neodisk never modifies or deletes your files. Instead, Reveal in Finder, Open, and Copy Path are the only file actions. Delete and clean up safely in Finder instead.

Features

  • Treemap: pinch to zoom, scroll to pan
  • Sunburst: pinch to drill in and out
  • Outline selected files
  • Find largest files
  • File type statistics
  • Age heatmap, color the treemap by last-modified date
  • Duplicate finder with content-hash verified duplicates
  • Fast scanning with live progress
  • Search: ⌘F fuzzy search over the entire scan
  • Quick Look on spacebar
  • Arrow keys move the selection in both the treemap and the sunburst
  • Drill into a folder with ⌘↓, drill back out with ⌘↑, or click folders in the breadcrumb bar
  • Snapshots, completed scans persist and reopen instantly
  • Changes tab lists what got added, deleted, renamed, grew or shrank since the previous scan
  • Show Package Contents: apps and bundles stay solid like in Finder until you expand them
  • Free and hidden space for volume scans
  • Sidebar volumes show a kind-colored usage bar
  • Auto-updates via Sparkle
  • Multilingual: UI follows macOS system language: English, Spanish, French, German, Italian, Brazilian Portuguese, Japanese, and Simplified Chinese

Build & Run

Requires macOS 14+ and a Swift 6 toolchain. No Xcode needed, the Xcode Command Line Tools are enough.

swift run -c release Neodisk    # build and launch directly
swift test                      # full test suite (engine + treemap + UI)

Structure

One package, strictly layered targets:

Sources/
├── NeodiskKit/   # UI-free scanning core (derived from Radix)
├── NeodiskCLI/   # `diskscan`, the core's reference CLI
├── TreemapKit/   # Pure treemap geometry, viewport, rasterizer
├── NeodiskUI/    # SwiftUI/AppKit views, view model, scan lifecycle
└── Neodisk/      # Thin executable entry point
Localization/     # .lproj string catalogs, one per language

Planned

  • Add to Homebrew
  • Multiplatform: native Windows and Linux versions (a lot of work, will take a while)

Credits

  • Disk Inventory X by Tjark Derlien and GrandPerspective by Erwin Bonsma, the cushion-treemap disk viewers this UI follows. No code from either is used.
  • Radix by Colin Kim (MIT), the scan engine and core data model NeodiskKit is derived from, and the sunburst visualization is ported from. Huge inspiration.
  • DaisyDisk by Software Ambience and SquirrelDisk by Adileo, the sunburst disk viewers that view follows. No code from either is used.
  • Cushion treemaps: van Wijk & van de Wetering, INFOVIS 1999. Squarified treemaps: Bruls, Huizing & van Wijk, 2000.

License

GPL-3.0-or-later. See LICENSE, Radix attribution is preserved there.

About

Read-only treemap and sunburst macOS disk space visualizer

Topics

Resources

License

Contributing

Security policy

Stars

205 stars

Watchers

2 watching

Forks

Sponsor this project

 

Contributors

Languages