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/
|
data.location=$XDG_DATA_HOME/task/
|
||||||
hooks.location=$XDG_DATA_HOME/task/hooks
|
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
|
include /usr/share/doc/task/rc/light-256.theme
|
||||||
|
|
||||||
color.active=bold white on black
|
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