https://github.com/erikh/calwarrior
Taskwarrior <-> Google Calendar bridge
https://github.com/erikh/calwarrior
Last synced: about 1 year ago
JSON representation
Taskwarrior <-> Google Calendar bridge
- Host: GitHub
- URL: https://github.com/erikh/calwarrior
- Owner: erikh
- License: mit
- Created: 2020-09-28T01:21:02.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-08-29T12:32:17.000Z (almost 5 years ago)
- Last Synced: 2025-03-31T19:21:22.732Z (about 1 year ago)
- Language: Go
- Size: 80.1 KB
- Stars: 9
- Watchers: 3
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# calwarrior: make taskwarrior work with google calendar
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.
## Installation:
Install [golang](https://golang.org).
```bash
go get github.com/erikh/calwarrior
```
## Usage:
```bash
$ calwarrior # launches with defaults
$ calwarrior --help # it has options and even help!
```
## Google Calendar OAuth2 credentials
`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 the `credentials.json` file.
- Putting the `credentials.json` in the `calwarrior` settings directory.
- Finally, you can try it by using the default oauth2 credentials embedded in the source code.
## Configuration Directory
`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`.
## Troubleshooting
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.
## Bugs
It's not very well tested at all, and the code is pretty ugly. But it seems to
work for me.
## Author
Erik Hollensbe