Skip to content

Instantly share code, notes, and snippets.

@simonmichael
Last active January 18, 2022 17:55
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save simonmichael/25cefa8b2aef4324cf3f to your computer and use it in GitHub Desktop.
Save simonmichael/25cefa8b2aef4324cf3f to your computer and use it in GitHub Desktop.
taskwarrior config 2016/01
# Simon's taskwarrior aliases
########################################
# general commands
alias t="task"
alias ta="task add"
alias td="task done"
alias t-="task delete"
alias tm="task modify"
alias tu="task undo"
alias tv="vit rc.alias.next=list"
alias tw1="task modify wait:1d"
# set new recurring task instances' scheduled date to their due date
alias tfixrecurring="t +READY +CHILD modify scheduled:due"
########################################
# reports
# a pageful of READY (pending, unblocked, not-waiting, not-scheduled-later) tasks, most urgent first
alias tn="task next +READY"
# all pending tasks, most urgent first
alias tna="task next limit:"
# all READY tasks, in this order: started, then due, then by urgency within each project
alias tl="task list +READY"
# all pending tasks, in the above order
alias tla="task list"
# a pageful of pending tasks, most recently created first
alias tnew="task newest limit:page"
# work around calendar hang when defaultwidth is unlimited
alias tc="task calendar rc.defaultwidth=$COLUMNS 2>/dev/null"
alias tb="task burndown.daily"
alias tbw="task burndown.weekly"
alias tbm="task burndown.monthly"
alias tclosedtoday='t end:today all'
alias tdonetoday='t end:today status:completed all'
# list active projects
alias tp="task projects"
# list all projects
alias tpa="task projects rc.list.all.projects=yes 2>/dev/null"
# list active projects with status
alias ts="task summary"
# list all projects with status
alias tsa="task summary rc.summary.all.projects=yes 2>/dev/null"
# list main project categories
alias tcat="task projects rc.list.all.projects=yes 2>/dev/null | grep -E '^\w' | grep -vE '^\d+ projects'"
# review each main project category's tasks in turn
function treview ()
{
while true; do
for p in `tcat | awk '{print $1}'`; do
clear
tn project:$p
echo
read -p "^ $p tasks (press enter for next project category)"
done
clear
read -p "Reviewed all $(tcat | wc -l) project categories (press enter to review again, ctrl-c to quit)"
done
}
# treviewauto [DELAY] (default 10s; C-s/C-q to pause/unpause, C-c to quit)
function treviewauto ()
{
while true; do
for p in `tcat | awk '{print $1}'`; do
clear
tn project:$p
# echo; echo "^ $p tasks"
sleep "${1:-10}"
done
done
}
########################################
# local
# main project categories
alias tadm="t project:adm"
alias tbiz="t project:biz"
alias tfos="t project:fos"
#...
# other common categories
alias tfin="t project:adm.finance"
alias thle="t project:fos.hledger"
#...
# common tasks
alias twfeedback="t fe1262d4"
alias flog="t 5b334cc0"
#...
# Simon's .taskrc
# [Created by task 2.5.0 12/4/2015 07:05:26]
# For more documentation, see http://taskwarrior.org or try 'man task', 'man task-color',
# 'man task-sync' or 'man taskrc'
# Here is an example of entries that use the default, override and blank values
# variable=foo -- By specifying a value, this overrides the default
# variable= -- By specifying no value, this means no default
# #variable=foo -- By commenting out the line, or deleting it, this uses the default
# Use the command 'task show' to see all defaults and overrides
########################################
# General
#data.location=~/.task
include /usr/local/Cellar/task/HEAD/share/doc/task/rc/holidays.en-US.rc
calendar.holidays=sparse
#default.command=calendar
search.case.sensitive=no
uda.priority.values=H,,L
urgency.inherit=1
urgency.blocking.coefficient=0.0
# urgency.blocked.coefficient=0.0
urgency.tags.coefficient=0.0
# better defaults for piping into less -RS, head etc.
_forcecolor=yes
# this makes calendar hang..
defaultwidth=
# can't use this because it also affects terminal, disabling terminal height detection
#defaultheight=
# Colour themes
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/light-16.theme
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/light-256.theme
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/dark-16.theme
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/dark-256.theme
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/dark-red-256.theme
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/dark-green-256.theme
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/dark-blue-256.theme
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/dark-violets-256.theme
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/dark-yellow-green.theme
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/dark-gray-256.theme
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/dark-gray-blue-256.theme
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/solarized-dark-256.theme
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/solarized-light-256.theme
#include /usr/local/Cellar/task/2.5.0/share/doc/task/rc/no-color.theme
# Contexts
# context.home=-errand or +pin
# context.out=+errand or +pin
########################################
# Tweaks for standard reports
# all
# show full project name (project.parent -> project)
# show tag names (tags.count -> tag)
# default value id,status.short,uuid.short,start.active,entry.age,end.age,depends.indicator,priority,project.parent,tags.count,recur.indicator,wait.remaining,scheduled.remaining,due,until.remaining,description
report.all.columns=id,status.short,uuid.short,start.active,entry.age,end.age,depends.indicator,priority,project,tags,recur.indicator,wait.remaining,scheduled.remaining,due,until.remaining,description
# completed
# show most recently completed first
# default value end+
report.completed.sort=end-
# newest
# show annotation counts only (description -> description.count)
# default value id,start.age,entry,entry.age,modified.age,depends.indicator,priority,project,tags,recur.indicator,wait.remaining,scheduled.countdown,due,until.age,description
report.newest.columns=id,start.age,entry,entry.age,modified.age,depends.indicator,priority,project,tags,recur.indicator,wait.remaining,scheduled.countdown,due,until.age,description.count
# next
# show annotation counts only (description -> description.count)
# default value id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.remaining,until.remaining,description,urgency
report.next.columns=id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.remaining,until.remaining,description.count,urgency
########################################
# Custom reports
# detailed recurring report showing recurring parents and their children
report.recurringall.description=All Recurring Tasks
report.recurringall.labels=ID,UUID,Parent,Created,Mod,A,Status,Recur,Wait,Sched,Due,Until,Deps,P,Project,Tags,Description,Mask Index,Mask
report.recurringall.columns=id,uuid.short,parent,entry,modified,start.active,status,recur,wait.remaining,scheduled,due,until,depends,priority,project,tags,description.count,imask,mask
report.recurringall.filter=+PARENT or +CHILD
report.recurringall.sort=parent,due
########################################
# Recent config
@bhertzing
Copy link

Very nice. Give me something to build from. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment