Update taskwarrior sync setup
parent
ed44636981
commit
0fe4662551
|
@ -1 +1 @@
|
|||
taskrc.d/server
|
||||
taskrc.d/sync
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
data.location=$XDG_DATA_HOME/task/
|
||||
hooks.location=$XDG_DATA_HOME/task/hooks
|
||||
|
||||
include ./taskrc.d/server
|
||||
include ./taskrc.d/$HOSTNAME
|
||||
include ./taskrc.d/sync
|
||||
include /usr/share/doc/task/rc/light-256.theme
|
||||
|
||||
color.active=bold white on black
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
recurrence=off
|
|
@ -1,14 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Evaluate environment variables into `server` config file
|
||||
|
||||
source ~/.env
|
||||
|
||||
config_file=~/.config/task/taskrc.d/server
|
||||
|
||||
echo "taskd.certificate=$XDG_DATA_HOME/task/default-client.cert.pem" > $config_file
|
||||
echo "taskd.key=$XDG_DATA_HOME/task/default-client.key.pem" >> $config_file
|
||||
echo "taskd.ca=$XDG_DATA_HOME/task/ca.cert.pem" >> $config_file
|
||||
echo "taskd.trust=ignore hostname" >> $config_file
|
||||
echo "taskd.server=$TASKD_SERVER:$TASKD_PORT" >> $config_file
|
||||
echo "taskd.credentials=$TASKD_CREDS" >> $config_file
|
|
@ -1,25 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Inspired by https://gist.github.com/primeapple/d3d82fbd28e9134d24819dd72430888e
|
||||
|
||||
read new_task
|
||||
|
||||
source ~/.env
|
||||
|
||||
log_file=./sync.log
|
||||
|
||||
is_up() {
|
||||
if ! nc -z $TASKD_SERVER $TASKD_PORT; then
|
||||
echo "Server is down" >> $log_file
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
is_up
|
||||
date > $log_file
|
||||
task rc.verbose:nothing sync >> $log_file &
|
||||
|
||||
echo $new_task
|
||||
echo 'on-add'
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
# Source: <https://gist.github.com/danmou/83079feac22307813178d7f8c456c544>
|
||||
|
||||
# This hooks script syncs task warrior to the configured task server without blocking.
|
||||
# The on-exit event is triggered once, after all processing is complete.
|
||||
|
||||
# Make sure hooks are enabled and this hook script is executable.
|
||||
# Run `task diag` for diagnostics on the hook.
|
||||
|
||||
import json
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
try:
|
||||
tasks = json.loads(sys.stdin.readline())
|
||||
except:
|
||||
# No input
|
||||
pass
|
||||
|
||||
# Call the `sync` command
|
||||
# hooks=0 ensures that the sync command doesn't call the on-exit hook
|
||||
# verbose=nothing sets the verbosity to print nothing at all
|
||||
|
||||
ps_1 = subprocess.Popen(
|
||||
["task", "rc.hooks=0", "sync"],
|
||||
stdin=subprocess.PIPE,
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.DEVNULL,
|
||||
)
|
||||
|
||||
sys.exit(0)
|
|
@ -1,26 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Inspired by https://gist.github.com/primeapple/d3d82fbd28e9134d24819dd72430888e
|
||||
|
||||
read original_task
|
||||
read modified_task
|
||||
|
||||
source ~/.env
|
||||
|
||||
log_file=./sync.log
|
||||
|
||||
is_up() {
|
||||
if ! nc -z $TASKD_SERVER $TASKD_PORT; then
|
||||
echo "Server is down" >> $log_file
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
is_up
|
||||
date > $log_file
|
||||
task rc.verbose:nothing sync >> $log_file &
|
||||
|
||||
echo $modified_task
|
||||
echo 'on-modify'
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Redirect both stdout and stderr to notify-send as is, but set
|
||||
# urgency to critical if the command fails
|
||||
output="$(task rc.hooks=0 sync 2>&1)"
|
||||
ret=$?
|
||||
if [ $ret -ne 0 ]; then
|
||||
urgency=critical
|
||||
else
|
||||
urgency=normal
|
||||
fi
|
||||
notify-send -u $urgency "Taskwarrior sync" "$output"
|
Loading…
Reference in New Issue