{ config, pkgs, ... }: { home.packages = with pkgs; [ vit tasksh taskwarrior-tui taskopen # syncall ]; programs.taskwarrior = { enable = true; package = pkgs.taskwarrior3; config = { regex = false; uda.relativeRecurDue.type = "duration"; uda.relativeRecurDue.label = "Rel. Rec. Due"; uda.relativeRecurWait.type = "duration"; uda.relativeRecurWait.label = "Rel. Rec. Wait"; uda.expires.type = "string"; uda.expires.label = "Expires"; uda.completeRecurDue.type = "string"; uda.completeRecurDue.label = "Com. Rec. Due"; uda.completeRecurWait.type = "string"; uda.completeRecurWait.label = "Com. Rec. Wait"; sync.server.url = "http:\/\/media-server:33043"; }; extraConfig = "include ${config.sops.templates."taskchamp".path}"; }; home.file.".local/share/task/hooks" = { source = ./taskwarrior/hooks; recursive = true; }; # services.taskchampion-sync-server = { # Unit = { # Description = "taskchamp"; # After = [ "network.target" ]; # }; # Install = { # WantedBy = [ "multi-user.target" ]; # }; # Service = { # Type = "simple"; # ExecStart = "${pkgs.taskchampion-sync-server}/bin/taskchampion-sync-server --listen media-server:33043 --data-dir /home/media/.local/share/task-sync --snapshot-days 1 --snapshot-versions 30"; # }; # }; }