90 lines
2.4 KiB
Nix
90 lines
2.4 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
|
|
cfg = config.programs.custom.taskwarrior;
|
|
|
|
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;
|
|
|
|
#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;
|
|
|
|
in
|
|
{
|
|
|
|
options.programs.custom.taskwarrior.enable =
|
|
mkEnableOption "Enable Taskwarrior services";
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
taskwarrior-tui
|
|
taskwarrior
|
|
timewarrior
|
|
tasksh
|
|
taskNextWeek
|
|
tsak
|
|
|
|
(pkgs.writers.writeBashBin "calendar" ''
|
|
${pkgs.taskwarrior}/bin/task calendar
|
|
${pkgs.taskwarrior}/bin/task calendar_report
|
|
'')
|
|
|
|
vit
|
|
(pkgs.writers.writeBashBin "active" "${vit}/bin/vit active")
|
|
(pkgs.writers.writeBashBin "todo" "${vit}/bin/vit todo")
|
|
|
|
taskwarrior-hooks
|
|
vdirsyncer
|
|
khal
|
|
(pkgs.writers.writeBashBin "kalendar" ''
|
|
${pkgs.vdirsyncer}/bin/vdirsyncer sync
|
|
${pkgs.khal}/bin/ikhal
|
|
'')
|
|
|
|
#unstable.python3Packages.bugwarrior
|
|
python3Packages.bugwarrior
|
|
|
|
# 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)
|
|
|
|
];
|
|
|
|
};
|
|
|
|
}
|