Sections in this article
- Prerequisites
- Step 1 - Download the WingTask Configuration file
- Step 2 - Run install script (Recommended)
- Step 2 - Manually configure Taskwarrior
- Step 3 - Run initial sync of Taskwarrior to WingTask
- Step 4 - Run task sync whenever you want to want to sync with WingTask.
- Troubleshooting
WingTask provides a taskserver installaion for the syncing of taskwarrior tasks from your local machine up to WingTask. The taskserver’s main purpose is giving WingTask access to tasks that originate on your local machine, and it also provides the benefit of allowing you to sync your Taskwarrior tasks between your other devices.
Prerequisites
-
Taskwarrior installed at version 2.5.1 or newer.
-
A taskwarrior configuration file (.taskrc) located in your home directory.
Installing Taskwarrior (1 of 2)
There are several ways for you to get a copy of Taskwarrior:
-
Download a release tarball, from here, then make sure you have libuuid-dev (may be called uuid-dev) and gnutls-dev installed. Then using cmake, GCC 4.7 / Clang 3.3, build Taskwarrior.
-
Using git, clone the code repository, switch to the current development branch, and build Taskwarrior.
-
Install a binary package. Your operating system probably already has a binary package available. These packages are usually named ‘task’.
Mac OS X:
$ brew install task
Debian/Ubuntu:
$ apt install taskwarrior
Fedora:
$ yum install taskwarrior
Archlinux:
$ pacman -S task'
Others:
http://taskwarrior.org/download/
Creating taskwarrior configuration file (and data directory) (2 of 2)
Taskwarrior looks for a configuration file at $HOME_DIR/.taskrc every time a taskwarrior command is executed. In the event that a config file is not found at $HOME_DIR/.taskrc, taskwarrior will prompt the user asking if a sample config should be created. Here is an example:
$ task version
A configuration file could not be found in ~
Would you like a sample /home/alice/.taskrc created, so taskwarrior
can proceed? (yes/no) yes
Step 1 - Download the WingTask Configuration file
Navigate to Settings, on Mobile click on the App ellipse button and then click Settings, on Desktop click the Settings icon. On the Settings page click on Download WingTask Configuration and a file download should begin.
Mobile
Download WingTask Configuration button in Settings:
Step 2 - Run install script (Recommended)
Navigate to the folder where the configuration zip file was downloaded, unzip it, and cd to the extracted directory.
$ unzip wingtask_configuration.zip
$ cd wingtask_configuration
$ chmod +x install.sh
$ ./install.sh
The install script will do the following:
- Verifies Taskwarrior is installed and the ‘task’ command is in $PATH.
- Makes a backup copy of existing .taskrc to .taskrc.orig.
- Copies directory wingtask_certs to $HOME/.wingtask_certs. These PKI certificates authorize access to the WingTask taskservers.
- Runs ‘task configure’ to set the Taskwarrior configuration for taskd.server to point to the WingTask taskserver.
- Runs ‘task configure’ to set the taskd.key to point to the PKI key copied to $HOME/.wingtask.certs/YOUR_EMAIL.key.pem.
- Runs ‘task configure’ to set the taskd.ca to point to the intermediate chain certificate copied to $HOME/.wingtask_certs/letsencrypt_root_certificate.pem.
- Runs ‘task configure’ to set the taskd.certificate to the PKI cert copied to $HOME/.wingtask_certs/YOUREMAIL.cert.pem.
- Run ‘task configure’ to set taskd.credentials to your WingTask auth credentials.
Step 2 - Manually configure Taskwarrior
Navigate to the folder where the configuration zip file was downloaded, unzip it, and cd to the extracted directory.
$ unzip wingtask_configuration.zip
$ cd wingtask_configuration
The extracted wingtask_configuration.zip contains 4 files. Of note is the taskrc file the contains the config necessary to connect to WingTask taskserver. Instead of running the install script you can copy the config over to your .taskrc file. Make sure to set the paths for the taskd certificates to the location of the certs in directory wingtask_certs.
- install.sh - Install script described above.
- README - provides included help.
- wingtask_certs - This directory contains your PKI certs to connect with WingTask tasksever securely.
- taskrc - A default taskwarrior .taskrc file with the addition of the configurations necessary for to connect to WingTask for your account. Of note is the taskd.credentials config which is the config that actually identifies your account to WingTask. You can copy and paste this config into your .taskrc file usually located in the home directory.
DO NOT UPLOAD TASKRC TO A PUBLIC REPO SUCH AS GITHUB
The UUID of configuration 'taskd/credentials' should be regarded as a password and kept secret.
# Inside taskrc, this line should be treated like a password
taskd.credentials=/WingTask/alice@example.org/87a517c6-0f8a-46e4-b2a1-afa21e0753f1
Certificates are for encryption of data in transit and are not used for authentication. They should likewise be kept secret.
Step 3 - Run initial sync of Taskwarrior to WingTask
Taskwarrior has a special command for first time sync.
$ task sync init
Step 4 - Run task sync whenever you want to want to sync with WingTask.
Any changes you make locally will not be reflected in WingTask until you sync the local changes up to the WingTask taskserver. Likewise, any tasks created or changed in WingTask won’t show up locally until you sync. You can run sync as often as you like.
$ task sync
Troubleshooting
Error: Could not find common ancestor for…
This is the most common error reported and is fixed by running ‘task sync init’.