nix/home/modules/taskwarrior.nix

52 lines
1.7 KiB
Nix

{
config,
pkgs,
...
}:
{
home.packages = with pkgs; [
python314
libnotify
];
home.file = {
".config/task/taskrc" = {
force = true; # overwrite when present
source = ../../dots/.config/task/taskrc;
};
".config/task/taskrc.d/aliases".source = ../../dots/.config/task/taskrc.d/aliases;
".config/task/taskrc.d/colors".source = ../../dots/.config/task/taskrc.d/colors;
".config/task/taskrc.d/contexts".source = ../../dots/.config/task/taskrc.d/contexts;
".config/task/taskrc.d/reports".source = ../../dots/.config/task/taskrc.d/reports;
".config/task/taskrc.d/udas".source = ../../dots/.config/task/taskrc.d/udas;
".config/task/taskrc.d/urgency".source = ../../dots/.config/task/taskrc.d/urgency;
".local/share/task/hooks/on-exit.sync.py" = {
source = ../../dots/.local/share/task/hooks/on-exit.sync.py;
};
".local/share/task/scripts/sync-and-notify.sh" = {
source = ../../dots/.local/share/task/scripts/sync-and-notify.sh;
executable = true;
};
};
programs.taskwarrior = with pkgs; {
enable = true;
package = taskwarrior3;
colorTheme = "dark-256";
config = {
# sync = {
# server.url = "${builtins.readFile config.sops.secrets."taskwarrior_sync_server_url".path}";
# server.client_id = "${builtins.readFile
# config.sops.secrets."taskwarrior_sync_server_client_id".path
# }";
# encryption_secret = "${builtins.readFile
# config.sops.secrets."taskwarrior_sync_encryption_secret".path
# }";
# };
recurrence = "off"; # TODO: enable only on andromache
};
extraConfig = "include ${config.sops.templates."taskrc.d/sync".path}";
};
}