diff --git a/modules/applications/activitywatch/darwin.nix b/modules/applications/activitywatch/darwin.nix new file mode 100644 index 0000000..98e0ab5 --- /dev/null +++ b/modules/applications/activitywatch/darwin.nix @@ -0,0 +1,8 @@ +{ + homebrew.casks = [ "activitywatch" ]; + + launchd.agents.activitywatch = { + command = "/usr/bin/open -gja ActivityWatch"; + serviceConfig.RunAtLoad = true; + }; +} diff --git a/modules/applications/activitywatch/home/nixos.nix b/modules/applications/activitywatch/home/nixos.nix new file mode 100644 index 0000000..5cdc92d --- /dev/null +++ b/modules/applications/activitywatch/home/nixos.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: +{ + services.activitywatch = { + enable = true; + + watchers.aw-awatcher = { + package = pkgs.awatcher; + executable = "awatcher"; + }; + }; +} diff --git a/modules/applications/activitywatch/meta.nix b/modules/applications/activitywatch/meta.nix new file mode 100644 index 0000000..28d64bb --- /dev/null +++ b/modules/applications/activitywatch/meta.nix @@ -0,0 +1,3 @@ +{ + description = "ActivityWatch automated time tracker"; +} diff --git a/modules/profiles/README.md b/modules/profiles/README.md index 0306699..45e8803 100644 --- a/modules/profiles/README.md +++ b/modules/profiles/README.md @@ -70,6 +70,10 @@ Handy's own shortcut bindings are disabled on NixOS so it does not monitor keyboard events under Wayland. Handy uses the Homebrew cask and starts at login on macOS. +`workload.personal` provides ActivityWatch for local activity tracking. On +NixOS, its server and Wayland-compatible watcher run as Home Manager user +services. On macOS, the Homebrew cask starts at login. + On NixOS, `workload.game` provides Steam with Valve Proton and Proton-GE, Protontricks, Wayland-compatible Steam Input, GameMode, Gamescope, and MangoHud. Enabling Steam also activates the 32-bit graphics and PipeWire support required diff --git a/modules/profiles/workload/personal/meta.nix b/modules/profiles/workload/personal/meta.nix index 4952191..25d18a7 100644 --- a/modules/profiles/workload/personal/meta.nix +++ b/modules/profiles/workload/personal/meta.nix @@ -3,6 +3,7 @@ includes = [ "applications.1password" + "applications.activitywatch" "applications.chrome" "applications.discord" "applications.gnome-text-editor"