Skip to main content

Calendar Integration

██████╗ ███╗   ███╗███████╗
██╔══██╗████╗ ████║██╔════╝
██║  ██║██╔████╔██║███████╗
██║  ██║██║╚██╔╝██║╚════██║
██████╔╝██║ ╚═╝ ██║███████║
╚═════╝ ╚═╝     ╚═╝╚══════╝

Sync your CalDAV-compatible calendar (Google Calendar, Office365, etc.) for dashboard integration.

warning

Setting up khal and vdirsyncer is very user-unfriendly and convoluted, in a future release this integration will be replaced with DankCalendar.

tip

Fore more details, view the khal documentation directly. DMS will automatically pick up khal events once configured.

Installation

Install the required dependencies for calendar synchronization:

Arch & Derivatives

sudo pacman -S vdirsyncer khal python-aiohttp-oauthlib

Fedora & Derivatives

sudo dnf install python3-vdirsyncer khal python3-aiohttp-oauthlib

Configuration

1. Configure vdirsyncer

Create ~/.vdirsyncer/config:

[general]
status_path = "~/.calendars/status"

[pair personal_sync]
a = "personal"
b = "personallocal"
collections = ["from a", "from b"]
conflict_resolution = "a wins"
metadata = ["color"]

[storage personal]
type = "google_calendar"
token_file = "~/.vdirsyncer/google_calendar_token"
client_id = "your_client_id"
client_secret = "your_client_secret"

[storage personallocal]
type = "filesystem"
path = "~/.calendars/Personal"
fileext = ".ics"

2. Initial Sync

Run the initial synchronization and configure khal:

vdirsyncer sync
khal configure

3. Auto-sync (Optional)

Set up automatic synchronization every 5 minutes using cron:

crontab -e

Add the following line:

*/5 * * * * /usr/bin/vdirsyncer sync

Troubleshooting

Calendar not syncing

Check vdirsyncer credentials and network connectivity:

vdirsyncer -vdebug sync

Missing calendar events

Verify khal is configured correctly:

khal list

Authentication issues

For Google Calendar, ensure your OAuth client ID and secret are correct. You may need to re-authenticate:

rm ~/.vdirsyncer/google_calendar_token
vdirsyncer sync