9 services.arbtt-capture = {
18 ExecStart = pkgs.writeShellScript "arbtt-capture-start" ''
20 LOG=${config.xdg.dataHome}/arbtt/$(date +%Y).capture
21 ln -snf "$LOG" "${config.xdg.dataHome}/arbtt/capture.log"
22 exec ${pkgs.haskellPackages.arbtt}/bin/arbtt-capture --logfile="$LOG"
27 Description = "Arbtt capture service";
28 PartOf = [ "graphical-session.target" ];
30 "graphical-session-pre.target"
34 WantedBy = [ "graphical-session.target" ];
39 home.activation.linkDotfiles = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
40 ln -sfn ${config.xdg.dataHome}/arbtt $HOME/.arbtt
42 xdg.dataFile."arbtt/categorize.cfg".text = lib.mkDefault ''
43 -- Simple rule that just tags the current program
44 $idle > 30 ==> tag inactive,
45 tag Program:$current.program,
48 pkgs.haskellPackages.arbtt
49 (pkgs.writeShellScriptBin "arbtt-stats-for" ''
55 today=$(date +"%Y-%m-%d")
57 arbtt-stats -m 0.1 --filter='$date>='$today "$@"
60 today=$(date +"%Y-%m-%d")
61 today=$(date -dlast-monday +%Y-%m-%d)
63 arbtt-stats -m 0.1 --filter='$date>='$today "$@"
66 today=$(date +"%Y-%m-01")
68 arbtt-stats -m 0.01 --filter='$date>='$today "$@"
71 startday=$(date --date="$(date +%Y-%m-15) -1 month" +'%Y-%m-01')
72 endday=$(date --date="$(date +%Y-%m-01) -1 day" +'%Y-%m-%d')
73 echo "$startday to $endday"
74 arbtt-stats -m 0.01 --filter='$date>='$startday' && $date<='$(date +%Y-%m-01) "$@"
77 startday=$(date --date="$(date +%Y-%m-%d) -1 day" +'%Y-%m-%d')
78 endday=$(date +%Y-%m-%d)
80 arbtt-stats -m 0.1 --filter='$date>='$startday' && $date<='$endday "$@"
84 endday=$(date --date="$2 +1 day" +'%Y-%m-%d')
86 arbtt-stats -m 0.1 --filter='$date>='$startday' && $date<='$endday "$@"
89 echo "Usage: arbtt [OPTIONS...]"