{ 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";
  #   };
  # };
}
