I use both services extensively and would like one place to work. I prefer taskwarrior but get notifications, etc on my phone from google calendar. In summary, google calendar makes me more productive, but I hate it.
I found a project that didn't work but seeded the idea for this program.
Install golang.
go get github.com/erikh/calwarrior
$ calwarrior # launches with defaults
$ calwarrior --help # it has options and even help!
calwarrior
needs oauth2 credentials to talk to google calendar.
You can accomplish this one of 3 ways :
- The first two require you generate your own oauth2 client; this is strongly recommended.
- Setting the environment variable
CALWARRIOR_CREDENTIALS
to thecredentials.json
file. - Putting the
credentials.json
in thecalwarrior
settings directory.
- Setting the environment variable
- Finally, you can try it by using the default oauth2 credentials embedded in the source code.
calwarrior
will attempt to launch your browser and stuff credentials in your
home directory ($HOME/Library/calwarrior
or $HOME/.config/calwarrior
on
Linux). Follow the instructions and paste in the code into the terminal to save
the token. It works with the default task
or taskw
command on your $PATH
.
If you start seeing error messages like this:
Error modifying calendar event: googleapi: Error 400: Invalid time zone definition for start time.
This is because your TZ
or ZONEINFO
environment variables are not set. man tzname
for more information.
It's not very well tested at all, and the code is pretty ugly. But it seems to work for me.
Erik Hollensbe [email protected]