Compare commits
	
		
			2 Commits 
		
	
	
		
			72629f5b98
			...
			0fe4662551
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								
									
								
								 | 
						0fe4662551 | |
| 
							
							
								
									
								
								 | 
						ed44636981 | 
| 
						 | 
					@ -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"
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,6 @@ snippet fne "Filename (+extension)" i
 | 
				
			||||||
`!p snip.rv = snip.fn`
 | 
					`!p snip.rv = snip.fn`
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
snippet fn "Filename basename" i
 | 
					# snippet ^fn "Filename basename" ir
 | 
				
			||||||
`!p snip.rv = snip.basename`
 | 
					# `!p snip.rv = snip.basename`
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue