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_CREDENTIALSto thecredentials.jsonfile. - Putting the
credentials.jsonin thecalwarriorsettings 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]