DankDiskUsage

July 3, 2026 ยท View on GitHub

A bar widget plugin for DankMaterialShell that monitors disk, ZFS pool, and Nix store usage with smart mount classification and expandable detail.

Screenshot

Features

  • Smart mount priority: system paths (/, /home, /nix, /var, /boot) are shown prominently in "System Storage"
  • Bar pill shows the most important mount's usage percentage
  • ZFS datasets grouped by pool with expandable detail views
  • Nix store total size on demand, plus current NixOS generation path count and closure size
  • Color-coded usage bars with configurable warning/critical thresholds
  • Excludes tmpfs, devtmpfs, overlay, and fuse mounts automatically
  • User-defined exclusions for mountpoints and ZFS datasets, with * wildcard support

Installation

Nix (flake)

Add as a flake = false input and include in your DMS plugin configuration:

inputs.dms-plugin-diskusage = {
  url = "github:alcxyz/DankDiskUsage";
  flake = false;
};
programs.dank-material-shell.plugins.dankDiskUsage = {
  enable = true;
  src = inputs.dms-plugin-diskusage;
};

Manual

Copy the plugin directory to ~/.config/DankMaterialShell/plugins/DankDiskUsage/.

Settings

The Nix section refreshes current generation closure details automatically. The full /nix/store size is cached and only rescanned when you click the Nix section refresh button, because walking the whole store can be expensive.

SettingDefaultDescription
Refresh interval30sHow often to poll disk usage data
Warning threshold80%Usage percentage for yellow indicator
Critical threshold95%Usage percentage for red indicator
Show partitionstrueDisplay non-ZFS, non-system filesystems
Show ZFS poolstrueGroup ZFS datasets by pool with expandable detail
Show Nix infotrueDisplay cached store size plus current generation closure details
Excluded mountpoints or datasets[]Mountpoints or ZFS datasets to hide; supports * wildcards such as /run/user/1000/*

License

MIT

Support
  • BTC: bc1pzdt3rjhnme90ev577n0cnxvlwvclf4ys84t2kfeu9rd3rqpaaafsgmxrfa
  • ETH / ERC-20: 0x2122c7817381B74762318b506c19600fF8B8372c