monji024/diskr

Tired of full disks? diskr finds what’s eating your space, checks disk health, and cleans safely — never deletes the wrong thing.

Rust

8

12 commits

updated Oct 2, 2026

See the code

See what people are saying

SourceMessageScoreDate

I’m building an open-source disk usage tool — feedback welcome (r/rust)

Hey everyone I’ve been working on **diskr**, a Rust-based terminal tool for analyzing disk usage, finding what’s taking up space, and identifying files and caches that can be cleaned up. I’d love to connect with people who enjoy Rust, open-source software, and building useful tools. If you find the…

0

Oct 2, 2026

README

Rust Logo

diskr

Save your disk space without the panic of deleting the wrong sh*t.

Rust Platform License Status


Tired of that classic f*cking problem where your hard drive is suddenly full and you have zero clue what’s eating all the space?
Yeah, me too. That’s exactly why I built diskr.

A fast, parallel CLI + TUI disk usage analyzer and safe cleaner for Linux, written in Rust.

Unlike du, ncdu, dust or dua-cli, diskr doesn’t just show you the numbers — it tells you what’s safe to remove, checks disk health, finds duplicates and dev caches, and watches for fallout after you clean.



Why diskr?

Most disk tools stop at “here’s what’s big”.
diskr goes further:

FeatureWhat it gives you
diskr doctorA–F grade + biggest reclaimable win right now
Real on-disk sizeUses st_blocks, not just apparent size
Safe cleanupTrash only — never rm -rf
Post-delete watcherjournalctl + lsof monitoring for 24 hours
Dev-cache & duplicate hunterBuilt-in, no extra tools needed
SMART healthTemperature, reallocated sectors, wear level

Features

Core

  • diskr doctor — One-shot dashboard with overall grade, health risks, exposed credentials, and the single biggest reclaimable chunk (with the exact command)
  • SMART health check — Model, temperature, power-on hours, reallocated sectors, wear level
  • Parallel filesystem scan — jwalk + rayon, real on-disk size, symlink & mount-point aware
  • Interactive TUI — Directory tree sorted by size (ratatui + crossterm)

Smart Finders

  • Large-file finder (configurable size threshold)
  • Stale-file finder (not accessed in N days)
  • Unused-app detector (cross-references apt/snap with real usage signals)
  • Dev-cache detector (node_modules, target, __pycache__, .venv, .next, and more)
  • Three-stage duplicate finder (size → quick blake3 hash → full verification)

Safety & Cleanup

  • Everything goes to trash — never hard-deleted
  • Protected system paths are always excluded
  • Dry-run mode generates an editable bash script for review
  • Post-delete watcher keeps an eye on journalctl and open handles for 24h

Extras

  • Docker overlay2 / volume bloat detector + optional prune
  • Sensitive-file scanner (SSH keys, .env, .pem, credentials in Downloads/Desktop)
  • Hardlink-aware size accounting
  • JSON output for automation
  • Undo history + config file support

Quick Start

# Install 
cargo install diskr-cli

# Or build from source
cargo build --release
./target/release/diskr

Most useful commands

diskr                      # interactive TUI in current directory
diskr doctor               # full health + reclaim dashboard
diskr scan                 # summary
diskr clean --dry-run      # see what would be cleaned
diskr duplicates           # find duplicate files
diskr health               # SMART report
diskr apps                 # packages idle for 90+ days
diskr sensitive            # exposed credential-like files
diskr docker --prune       # docker storage bloat

TUI controls

KeyAction
j / k or arrowsMove
Enter / lOpen directory
Backspace / hGo up
spaceMark item
qQuit

Comparison

ToolShows sizesSafe cleanupDisk healthDupes + cachesPost-delete watch
duyesnononono
ncduyesmanual onlynonono
dustyesnononono
dua-cliyesinteractive deletenonono
diskryestrash + dry-runSMARTyesyes (24h)

Safety Model

  • Every delete goes through the OS trash — never a hard delete
  • Protected prefixes (/, /usr, /etc, /boot, /bin, /sys, /proc, /dev, /root, /var/lib, /var/log, …) can never appear in a clean plan
  • Nothing is removed without --yes
  • --dry-run available on every destructive command
  • Generated cleanup script is fully reviewable before execution

Project Layout

diskr/
├── Cargo.toml
├── src/
│   ├── main.rs
│   ├── cli.rs
│   ├── config.rs
│   ├── history.rs
│   ├── scanner/        # parallel walk, real on-disk size, blake3 hashing
│   ├── analyzer/       # size, age, duplicates, caches, health, docker, apps
│   ├── cleaner/        # trash integration + protected-path rules
│   ├── health/         # post-delete watcher + log analysis
│   └── ui/             # ratatui TUI
└── tests/

Building & Testing

cargo build --release
./target/release/diskr
cargo test

Requires Linux.
Optional tools (smartctl, journalctl, apt/snap, docker) degrade gracefully if missing — the core still works.


Status

Verified with cargo build, cargo test, and manual runs of every subcommand against real temp-directory fixtures.


Contributing

Contributions are welcome!

  • Open an issue for bugs or feature ideas
  • Send a pull request
  • Improve docs or add tests

Any help is appreciated — even small PRs make a difference.


Star the repo

If diskr saves you from another “why is my disk full?” night, please give it a star.

It helps more people discover the project and keeps the motivation going.


Built because I was sick of guessing where my disk space went.
Now you don’t have to guess either.

cli
disk
rust
space

monji024/diskr

Tired of full disks? diskr finds what’s eating your space, checks disk health, and cleans safely — never deletes the wrong thing.

Rust

8

12 commits

updated Oct 2, 2026

See the code

See what people are saying

SourceMessageScoreDate

I’m building an open-source disk usage tool — feedback welcome (r/rust)

Hey everyone I’ve been working on **diskr**, a Rust-based terminal tool for analyzing disk usage, finding what’s taking up space, and identifying files and caches that can be cleaned up. I’d love to connect with people who enjoy Rust, open-source software, and building useful tools. If you find the…

0

Oct 2, 2026

README

Rust Logo

diskr

Save your disk space without the panic of deleting the wrong sh*t.

Rust Platform License Status


Tired of that classic f*cking problem where your hard drive is suddenly full and you have zero clue what’s eating all the space?
Yeah, me too. That’s exactly why I built diskr.

A fast, parallel CLI + TUI disk usage analyzer and safe cleaner for Linux, written in Rust.

Unlike du, ncdu, dust or dua-cli, diskr doesn’t just show you the numbers — it tells you what’s safe to remove, checks disk health, finds duplicates and dev caches, and watches for fallout after you clean.



Why diskr?

Most disk tools stop at “here’s what’s big”.
diskr goes further:

FeatureWhat it gives you
diskr doctorA–F grade + biggest reclaimable win right now
Real on-disk sizeUses st_blocks, not just apparent size
Safe cleanupTrash only — never rm -rf
Post-delete watcherjournalctl + lsof monitoring for 24 hours
Dev-cache & duplicate hunterBuilt-in, no extra tools needed
SMART healthTemperature, reallocated sectors, wear level

Features

Core

  • diskr doctor — One-shot dashboard with overall grade, health risks, exposed credentials, and the single biggest reclaimable chunk (with the exact command)
  • SMART health check — Model, temperature, power-on hours, reallocated sectors, wear level
  • Parallel filesystem scan — jwalk + rayon, real on-disk size, symlink & mount-point aware
  • Interactive TUI — Directory tree sorted by size (ratatui + crossterm)

Smart Finders

  • Large-file finder (configurable size threshold)
  • Stale-file finder (not accessed in N days)
  • Unused-app detector (cross-references apt/snap with real usage signals)
  • Dev-cache detector (node_modules, target, __pycache__, .venv, .next, and more)
  • Three-stage duplicate finder (size → quick blake3 hash → full verification)

Safety & Cleanup

  • Everything goes to trash — never hard-deleted
  • Protected system paths are always excluded
  • Dry-run mode generates an editable bash script for review
  • Post-delete watcher keeps an eye on journalctl and open handles for 24h

Extras

  • Docker overlay2 / volume bloat detector + optional prune
  • Sensitive-file scanner (SSH keys, .env, .pem, credentials in Downloads/Desktop)
  • Hardlink-aware size accounting
  • JSON output for automation
  • Undo history + config file support

Quick Start

# Install 
cargo install diskr-cli

# Or build from source
cargo build --release
./target/release/diskr

Most useful commands

diskr                      # interactive TUI in current directory
diskr doctor               # full health + reclaim dashboard
diskr scan                 # summary
diskr clean --dry-run      # see what would be cleaned
diskr duplicates           # find duplicate files
diskr health               # SMART report
diskr apps                 # packages idle for 90+ days
diskr sensitive            # exposed credential-like files
diskr docker --prune       # docker storage bloat

TUI controls

KeyAction
j / k or arrowsMove
Enter / lOpen directory
Backspace / hGo up
spaceMark item
qQuit

Comparison

ToolShows sizesSafe cleanupDisk healthDupes + cachesPost-delete watch
duyesnononono
ncduyesmanual onlynonono
dustyesnononono
dua-cliyesinteractive deletenonono
diskryestrash + dry-runSMARTyesyes (24h)

Safety Model

  • Every delete goes through the OS trash — never a hard delete
  • Protected prefixes (/, /usr, /etc, /boot, /bin, /sys, /proc, /dev, /root, /var/lib, /var/log, …) can never appear in a clean plan
  • Nothing is removed without --yes
  • --dry-run available on every destructive command
  • Generated cleanup script is fully reviewable before execution

Project Layout

diskr/
├── Cargo.toml
├── src/
│   ├── main.rs
│   ├── cli.rs
│   ├── config.rs
│   ├── history.rs
│   ├── scanner/        # parallel walk, real on-disk size, blake3 hashing
│   ├── analyzer/       # size, age, duplicates, caches, health, docker, apps
│   ├── cleaner/        # trash integration + protected-path rules
│   ├── health/         # post-delete watcher + log analysis
│   └── ui/             # ratatui TUI
└── tests/

Building & Testing

cargo build --release
./target/release/diskr
cargo test

Requires Linux.
Optional tools (smartctl, journalctl, apt/snap, docker) degrade gracefully if missing — the core still works.


Status

Verified with cargo build, cargo test, and manual runs of every subcommand against real temp-directory fixtures.


Contributing

Contributions are welcome!

  • Open an issue for bugs or feature ideas
  • Send a pull request
  • Improve docs or add tests

Any help is appreciated — even small PRs make a difference.


Star the repo

If diskr saves you from another “why is my disk full?” night, please give it a star.

It helps more people discover the project and keeps the motivation going.


Built because I was sick of guessing where my disk space went.
Now you don’t have to guess either.

cli
disk
rust
space

Languages

Rust

100.0%