From b534454a885239154858e08bf51b16beb3d34a96 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Thu, 8 Dec 2022 14:02:16 +0100 Subject: [PATCH] task: Integrate into office module Since I am striving for closer connection between my task management, my mail suite and my calendar appointments, it makes sense to unify all 'office' tasks into the single office module instead of keeping taskwarrior outside of it. --- .gitignore | 4 ++-- .../.config/sh/alias.d/taskwarrior.sh | 0 .../.config/sh/alias.d/timewarrior.sh | 0 .../sh/env.d/taskwarrior-ensure-files.sh | 0 .../.config/sh/env.d/taskwarrior-xdg.sh | 0 .../.config/sh/env.d/timewarrior-xdg.sh | 0 .../.config/task/taskopenrc | 0 {taskwarrior => office}/.config/task/taskrc | 0 .../.local/bin/task-overdue-prompt | 0 .../DISABLED.on-exit.sync-to-server-silent.py | 0 .../share/task/hooks/on-modify.timewarrior | 0 office/README.md | 17 ++++++++++++++++- taskwarrior/.config/task/colorscheme | 19 ------------------- 13 files changed, 18 insertions(+), 22 deletions(-) rename {taskwarrior => office}/.config/sh/alias.d/taskwarrior.sh (100%) rename {taskwarrior => office}/.config/sh/alias.d/timewarrior.sh (100%) rename {taskwarrior => office}/.config/sh/env.d/taskwarrior-ensure-files.sh (100%) rename {taskwarrior => office}/.config/sh/env.d/taskwarrior-xdg.sh (100%) rename {taskwarrior => office}/.config/sh/env.d/timewarrior-xdg.sh (100%) rename {taskwarrior => office}/.config/task/taskopenrc (100%) rename {taskwarrior => office}/.config/task/taskrc (100%) rename {taskwarrior => office}/.local/bin/task-overdue-prompt (100%) rename {taskwarrior => office}/.local/share/task/hooks/DISABLED.on-exit.sync-to-server-silent.py (100%) rename {taskwarrior => office}/.local/share/task/hooks/on-modify.timewarrior (100%) delete mode 100644 taskwarrior/.config/task/colorscheme diff --git a/.gitignore b/.gitignore index 625a96c..03aba05 100644 --- a/.gitignore +++ b/.gitignore @@ -39,5 +39,5 @@ vifminfo.json colorscheme.yml # taskwarrior -taskwarrior/.config/task/task-sync.rc -taskwarrior/.config/task/contexts +office/.config/task/task-sync.rc +office/.config/task/contexts diff --git a/taskwarrior/.config/sh/alias.d/taskwarrior.sh b/office/.config/sh/alias.d/taskwarrior.sh similarity index 100% rename from taskwarrior/.config/sh/alias.d/taskwarrior.sh rename to office/.config/sh/alias.d/taskwarrior.sh diff --git a/taskwarrior/.config/sh/alias.d/timewarrior.sh b/office/.config/sh/alias.d/timewarrior.sh similarity index 100% rename from taskwarrior/.config/sh/alias.d/timewarrior.sh rename to office/.config/sh/alias.d/timewarrior.sh diff --git a/taskwarrior/.config/sh/env.d/taskwarrior-ensure-files.sh b/office/.config/sh/env.d/taskwarrior-ensure-files.sh similarity index 100% rename from taskwarrior/.config/sh/env.d/taskwarrior-ensure-files.sh rename to office/.config/sh/env.d/taskwarrior-ensure-files.sh diff --git a/taskwarrior/.config/sh/env.d/taskwarrior-xdg.sh b/office/.config/sh/env.d/taskwarrior-xdg.sh similarity index 100% rename from taskwarrior/.config/sh/env.d/taskwarrior-xdg.sh rename to office/.config/sh/env.d/taskwarrior-xdg.sh diff --git a/taskwarrior/.config/sh/env.d/timewarrior-xdg.sh b/office/.config/sh/env.d/timewarrior-xdg.sh similarity index 100% rename from taskwarrior/.config/sh/env.d/timewarrior-xdg.sh rename to office/.config/sh/env.d/timewarrior-xdg.sh diff --git a/taskwarrior/.config/task/taskopenrc b/office/.config/task/taskopenrc similarity index 100% rename from taskwarrior/.config/task/taskopenrc rename to office/.config/task/taskopenrc diff --git a/taskwarrior/.config/task/taskrc b/office/.config/task/taskrc similarity index 100% rename from taskwarrior/.config/task/taskrc rename to office/.config/task/taskrc diff --git a/taskwarrior/.local/bin/task-overdue-prompt b/office/.local/bin/task-overdue-prompt similarity index 100% rename from taskwarrior/.local/bin/task-overdue-prompt rename to office/.local/bin/task-overdue-prompt diff --git a/taskwarrior/.local/share/task/hooks/DISABLED.on-exit.sync-to-server-silent.py b/office/.local/share/task/hooks/DISABLED.on-exit.sync-to-server-silent.py similarity index 100% rename from taskwarrior/.local/share/task/hooks/DISABLED.on-exit.sync-to-server-silent.py rename to office/.local/share/task/hooks/DISABLED.on-exit.sync-to-server-silent.py diff --git a/taskwarrior/.local/share/task/hooks/on-modify.timewarrior b/office/.local/share/task/hooks/on-modify.timewarrior similarity index 100% rename from taskwarrior/.local/share/task/hooks/on-modify.timewarrior rename to office/.local/share/task/hooks/on-modify.timewarrior diff --git a/office/README.md b/office/README.md index 4105cc8..c10a58c 100644 --- a/office/README.md +++ b/office/README.md @@ -8,8 +8,12 @@ imapfilter - rule-based filtering engine for your incoming mail vdirsyncer - mirror your contacts and calendars locally with two-way synchronization khal - terminal vdir-compatible calendar client calcurse - a pretty terminal calendar client, but not very vdir compatible +taskwarrior - a super flexible terminal to-do list -Most of the credential/account setup of course is highly specific to my setup and should be changed as required. +The module has three areas of concern: a functioning mail suite (receiving, sending, searching), to-do management, and contacts and calendaring. +Take care that most of the credential/account setup of course is highly specific to my setup and should be changed as required. + +## mail The current mail setup uses `mbsync` (from the isync project) to locally mirror the GMail imap folder. It is run through a `sync-mail` script which can invoke pre- and post-sync hooks @@ -20,8 +24,19 @@ The sync script also automatically unlocks any pass directory so that credential [^1]: That being said, the script is a little dusty and could probably use a little overhaul. It *works* but could be more fantastic I feel. +## calendar and contacts + For calendars and contacts, the wonderful `vdirsyncer` is used to sync everything from a remote Dav client (hard-coded to my server currently) to the local directories in documents. This is then picked up by `khal` to allow you to browse and edit your events, and create new ones - all of which in turn ends up remotely. You can also browse your events locally with `calcurse` which will import them on each startup, but will not sync back yet; meaning, any changes you do through the application will not reflect themselves back on any of your other connected devices unfortunately. + +## tasks + +Task management is done through the wonderful `taskwarrior`. I mostly use it as-is from the commandline, with some personal tweaks to urgencies and task dependencies. + +The goal here is to integrate taskwarrior relatively tightly into mail +(e.g. receiving a mail and turning it into a task, then being able to go back from the task to the respective mail) +and calendaring (turning a to-do into a calendar event, and creating to-dos for individual events right from the calendar), +but those goals are still a ways off and the suite is working fine enough for now. diff --git a/taskwarrior/.config/task/colorscheme b/taskwarrior/.config/task/colorscheme deleted file mode 100644 index 634e976..0000000 --- a/taskwarrior/.config/task/colorscheme +++ /dev/null @@ -1,19 +0,0 @@ -# Themes are in this file so it can be ignored by -# git and theme changes don't show up as committable -# edits. - -# Color theme (uncomment one to use) -#include /usr/share/doc/task/rc/light-16.theme -#include /usr/share/doc/task/rc/light-256.theme -#include /usr/share/doc/task/rc/dark-16.theme -#include /usr/share/doc/task/rc/dark-256.theme -#include /usr/share/doc/task/rc/dark-red-256.theme -#include /usr/share/doc/task/rc/dark-green-256.theme -#include /usr/share/doc/task/rc/dark-blue-256.theme -#include /usr/share/doc/task/rc/dark-violets-256.theme -#include /usr/share/doc/task/rc/dark-yellow-green.theme -#include /usr/share/doc/task/rc/dark-gray-256.theme -#include /usr/share/doc/task/rc/dark-gray-blue-256.theme -include /usr/share/doc/task/rc/solarized-dark-256.theme -#include /usr/share/doc/task/rc/solarized-light-256.theme -#include /usr/share/doc/task/rc/no-color.theme