Where things are stored
DiskGOup keeps three kinds of data apart, each in the directory the platform
convention reserves for it. The locations come from
platformdirs, so they follow the
rules of the operating system rather than a hard-coded path.
The three directories
Section titled “The three directories”| Directory | Holds | macOS | Linux | Windows |
|---|---|---|---|---|
| data | application state | ~/Library/Application Support/diskgoup |
~/.local/share/diskgoup |
%LOCALAPPDATA%\diskgoup |
| cache | the scan index — regenerable | ~/Library/Caches/diskgoup |
~/.cache/diskgoup |
%LOCALAPPDATA%\diskgoup\Cache |
| config | user-editable configuration | ~/Library/Application Support/diskgoup |
~/.config/diskgoup |
%APPDATA%\diskgoup |
The scan index lives in the cache directory on purpose: it is derived data. Delete it and the next scan rebuilds it. Nothing else in DiskGOup keeps state that cannot be recomputed.
The scan index
Section titled “The scan index”<cache>/diskgoup/index.dbOne SQLite file holds every scan ever taken, together with their entries, skipped-entry notices, SHA-256 digests, size snapshots and the staged review list. See The scan index for the schema.
The path can be overridden with the DISKGOUP_INDEX environment variable —
useful for keeping a scratch index out of the way while experimenting:
DISKGOUP_INDEX=/tmp/diskgoup-scratch.db diskgoup scan ~Configuration
Section titled “Configuration”<config>/diskgoup/config.jsonThe file is optional — every setting has a working default, and the CLI
reads nothing from it today. It exists so that settings have a home when they
need one, and diskgoup reset removes it so the app starts from its
defaults.
Its path can be overridden with the DISKGOUP_CONFIG environment variable, in
the same way DISKGOUP_INDEX overrides the index.
The desktop app
Section titled “The desktop app”The Electron app keeps no settings of its own beyond what the platform stores
for the app itself. The CLI child process inherits the environment, so
DISKGOUP_INDEX and friends work the same way under the GUI.
Removing everything
Section titled “Removing everything”diskgoup resetThat deletes the scan index — the database and the SQLite files beside it — and writes a new, empty one in its place. Every scan goes with it; no file on your disk is touched, so the next scan reads it again. It is also the way out of an index that is corrupted or stuck.
The desktop app has the same thing in its sidebar: ⟲ Reset app, at the bottom of the left panel.
To delete the cache directory by hand instead:
rm -rf "$(python3 -c 'from platformdirs import user_cache_dir; print(user_cache_dir("diskgoup"))')"That deletes the scan index and nothing else. The application’s data directory holds no user content — it exists so that other state has a place to live.