id = "activitywatch" name = "ActivityWatch" homepage = "https://activitywatch.net" description = "The best free and open-source automated time tracker. Cross-platform, extensible, privacy-focused." # The project's own logo, from its homepage. icon = "https://activitywatch.net/img/logo.png" executables = ["aw-qt", "aw-server", "aw-watcher-afk"] [dotfiles] # https://docs.activitywatch.net/en/latest/directories.html gives the config # directory per module, and it is a different base directory on each platform # rather than one place under three names — Windows uses %LOCALAPPDATA% while # macOS uses Application Support and Linux the XDG config home — so the three # spellings are written out: # # Windows C:\Users\\AppData\Local\activitywatch\ # macOS ~/Library/Application Support/activitywatch/ # Linux ~/.config/activitywatch/ # # One subdirectory per module (aw-server-rust, aw-qt, aw-watcher-afk, # aw-watcher-window). https://docs.activitywatch.net/en/latest/configuration.html: # "In v0.11.0, the previous `.ini` config files used by all Python-based modules # were replaced by `.toml` files", so the config is the .toml inside each module # directory. The glob is deliberately narrow: on macOS and Windows the data # directory is the same directory as the config directory, and it holds the # event database, which is recorded activity rather than configuration and must # not be swept along. paths = [ "~/Library/Application Support/activitywatch/*/*.toml", "~/.config/activitywatch/*/*.toml", "%LOCALAPPDATA%/activitywatch/*/*.toml", ] # Nothing to carve out: the glob above only reaches .toml files, so the # databases, logs (~/Library/Logs, %LOCALAPPDATA%\…\logs, ~/.cache) and caches # named on the same page are outside it already. exclude = [] # ActivityWatch is local-first — the server binds to localhost and there is no # account — so nothing it writes here is a credential. secret = [] # No machine_lines: the settings are poll intervals, AFK timeouts, the host and # port the local server binds to and which watchers autostart. The port is # arguably per-machine, but it is the same 5600 everywhere unless a user # deliberately changed it, and stripping it would strand that choice.