Skip to content

Instantly share code, notes, and snippets.

@simonmichael
Last active January 18, 2022 17:55
Show Gist options
  • Select an option

  • Save simonmichael/25cefa8b2aef4324cf3f to your computer and use it in GitHub Desktop.

Select an option

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
Copy Markdown

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