nixos-config/nixos/modules/programs/taskwarrior.nix

90 lines
2.4 KiB
Nix
Raw Normal View History

2019-10-24 02:20:38 +02:00
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.programs.custom.taskwarrior;
2019-12-20 05:54:26 +01:00
taskNextWeek = pkgs.writeShellScriptBin "taskweek" # sh
''
${pkgs.taskwarrior}/bin/task \
export \
status:pending and \( due.before:6days \) \
| ${pkgs.jq}/bin/jq '[.[] | { Day: .due, ID: .id, Description: .description } ] | sort_by(.Day)' \
| ${pkgs.miller}/bin/mlr --ijson --opprint put "\$Day = strftime(strptime(\$Day,\"%Y%m%dT%H%M%SZ\")$(date +%z)00,\"%A\")"
'';
tsak = pkgs.writeShellScriptBin "tsak" # sh
''
${pkgs.taskwarrior}/bin/task "$@"
'';
taskwarrior-tui = pkgs.unstable.taskwarrior-tui;
2019-10-24 02:20:38 +02:00
2022-04-22 19:29:22 +02:00
#vit = pkgs.unstable.vit.overrideAttrs (old: rec {
# name = "vit-${version}";
# version = "master";
# src = pkgs.fetchgit {
# url = "https://github.com/scottkosty/vit.git";
# #rev = "7200949214362139e8073b6ca1a58cc756b2ebd0";
# #sha256 = "1s0rvqn8xjy3qiw9034wfzz2r7mwary70x32fqprz2w2h5r73j2m";
# rev = "cfe5975bd054fe8ffe79527a1af6356528b60c63";
# sha256 = "12fjx91l7cxxan3pg0xqmizpabp5g482vxqq5f3r8b6dw70l15hk";
# };
#});
vit = pkgs.unstable.vit;
2021-11-01 09:20:42 +01:00
in
{
2019-10-24 02:20:38 +02:00
2019-12-20 05:54:26 +01:00
options.programs.custom.taskwarrior.enable =
mkEnableOption "Enable Taskwarrior services";
2019-10-24 02:20:38 +02:00
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
2021-02-08 18:16:13 +01:00
taskwarrior-tui
2019-10-24 02:20:38 +02:00
taskwarrior
timewarrior
tasksh
taskNextWeek
tsak
(pkgs.writers.writeBashBin "calendar" ''
${pkgs.taskwarrior}/bin/task calendar
${pkgs.taskwarrior}/bin/task calendar_report
'')
2020-01-23 11:47:59 +01:00
vit
(pkgs.writers.writeBashBin "active" "${vit}/bin/vit active")
(pkgs.writers.writeBashBin "todo" "${vit}/bin/vit todo")
2019-12-29 02:55:15 +01:00
taskwarrior-hooks
2020-03-11 14:58:26 +01:00
vdirsyncer
khal
(pkgs.writers.writeBashBin "kalendar" ''
${pkgs.vdirsyncer}/bin/vdirsyncer sync
${pkgs.khal}/bin/ikhal
'')
2019-12-29 02:55:15 +01:00
2022-04-18 17:59:18 +02:00
unstable.python3Packages.bugwarrior
2019-12-27 01:10:49 +01:00
# bugwarrior
#(let
# mypython = let
# packageOverrides = self: super: {
# bugwarrior = super.bugwarrior.overridePythonAttrs (old: {
# propagatedBuildInputs = old.propagatedBuildInputs
# ++ [ super.setuptools ];
# });
# };
# in pkgs.python3.override { inherit packageOverrides; };
#in mypython.pkgs.bugwarrior)
2019-12-27 01:10:49 +01:00
2019-10-24 02:20:38 +02:00
];
};
}