README.md

March 27, 2026 · View on GitHub

DARYA

A Fast and Keyboard-Driven Disk Usage Explorer

Built with Rust, Ratatui, and Crossterm

Build badge Coverage badge Crates badge


darya is a lightweight disk usage tool built for the terminal. It’s just as at home on a headless server as it is on your laptop, giving you a quick way to see what’s taking up space without needing a graphical environment.

The interface is straightforward and easy to navigate, letting you move through directories, run scans when you want, and focus on the information that actually matters. It’s designed to stay fast and responsive, keeping things simple while working reliably across POSIX-like systems.

Installation

1) Install script (fastest)

  1. Run the install script below to fetch the latest release for your platform.
    curl -fsSL https://mr.katebzadeh.xyz/tools/darya/install | bash
    

2) Cargo install

  1. Make sure Rust and Cargo are available on your system, then install the latest published build with the command below.
    cargo install darya
    

3) Download from the releases page

  1. Download the archive that matches your platform from the darya releases page using the command below.
    curl -LO https://github.com/mrkatebzadeh/darya/releases/latest/download/darya-<platform>.tar.gz
    
  2. Extract the archive and move the binary onto your PATH (for example, /usr/local/bin) by running the commands below.
    tar -xzf darya-<platform>.tar.gz
    sudo mv darya /usr/local/bin/
    

4) Building from source

  1. Clone the repository and reset to the desired release tag (skip if you already have the source) by running the command below.
    git clone https://github.com/mrkatebzadeh/darya && cd darya
    
  2. Run the test suite and release build commands below.
    cargo test
    cargo build --release
    
  3. Install the freshly built binary using Cargo with the command below.
    cargo install --path .
    

Quick start

  • Launch darya in any directory to open the UI, then press R to start a scan.
  • Navigate with the keybindings shown at the bottom of the UI, toggle filters with / and c, and switch sorting/size modes with the letters displayed in the help pane.
  • Use -x/--one-file-system, -y/--show-hidden, or the other CLI flags if you need to control what the scanner visits before you start the UI.
  • Export scans with the provided snapshot flags (-f, -o, -O) to share what you have found without rerunning a full scan.

Keybindings

KeyAction
k / Move the selection up.
j / Move the selection down.
h / Collapse the highlighted directory or file group.
l / Expand the highlighted directory or file group.
ggJump to the top of the tree.
GJump to the bottom of the tree.
Enter / TabSelect the current item.
RStart a new scan for the current directory.
rRescan the currently selected path.
/Begin typing to filter the tree. Press Enter to apply or Esc to exit filter mode.
cClear the active filter.
sCycle through the available sort modes.
bToggle the size display mode (bytes, percentage, etc.).
EExport the latest scan snapshot.
IImport a previously exported scan snapshot.
dDelete the selected entry from the scan tree.
oOpen the selected entry in your default viewer.
HToggle showing hidden files and directories.
? / EscOpen or close the help overlay.
tToggle the treemap panel.
qQuit the application.

Configuration and customization

  • Settings come from a config.toml in your system config directory. On Linux this is ~/.config/darya/config.toml, while on macOS it lives at ~/Library/Application Support/darya/config.toml. Pass --ignore-config to skip loading it.
  • Overrides on the command line always win, so you can keep a mild default configuration and still tweak behavior at runtime.
SectionKeyTypeDescription
sortingmodestringDefault sort mode (size_desc, size_asc, name, modified_time).
scanexclude_patternsarray of stringsGlob patterns to skip during scans.
scanfollow_symlinksboolFollow symlink targets during scans.
scanone_file_systemboolStay on the same filesystem as the root path.
scanexclude_cachesboolSkip cache directories when scanning.
scanexclude_kernfsboolSkip kernel filesystem paths when scanning.
scancount_hard_links_onceboolCount hard-linked files only once.
scanthread_countintegerWorker threads for scanning (0 uses a single thread).
themebackgroundstringBase background color name.
themeforegroundstringBase foreground color name.
themedirectorystringColor for directory entries.
themefilestringColor for file entries.
themesymlinkstringColor for symlink entries.
themeotherstringColor for other entry types.
themetile_palettearray of stringsTreemap tile palette colors.