Where things get stored depends on the platform you're using. All paths should follow standard directories on their platforms, and to accomplish this we use appdirs in Python code and the dirs crate in Rust code.
Each ActivityWatch component stores its data in a subdirectory named after itself.
The paths below use aw-server-rust as an example component.
This is where the SQLite database and other persistent data is stored.
- Windows:
C:\Users\<USER>\AppData\Local\activitywatch\aw-server-rust - macOS:
~/Library/Application Support/activitywatch/aw-server-rust - Linux:
~/.local/share/activitywatch/aw-server-rust
Configuration files for each component.
- Windows:
C:\Users\<USER>\AppData\Local\activitywatch\aw-server-rust - macOS:
~/Library/Application Support/activitywatch/aw-server-rust - Linux:
~/.config/activitywatch/aw-server-rust, or the path defined by the$XDG_CONFIG_HOMEenvironment variable.
Other components have their own config directories, e.g. aw-watcher-afk, aw-watcher-window.
- Windows:
C:\Users\<USER>\AppData\Local\activitywatch\aw-server-rust\logs - macOS:
~/Library/Logs/activitywatch/aw-server-rust - Linux:
~/.cache/activitywatch/log/aw-server-rust
- Windows:
C:\Users\<USER>\AppData\Local\activitywatch\aw-server-rust\cache - macOS:
~/Library/Caches/activitywatch/aw-server-rust - Linux:
~/.cache/activitywatch/aw-server-rust