Skip to main content
Version: 2.0

Calendar Integration

Dux Shell

Calendar Integration

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

Try Dux Calendar instead

Setting up khal and vdirsyncer is very user-unfriendly and convoluted. Dux Calendar (dcal) is a standalone app that connects Local, Google, Microsoft, CalDAV, and iCloud calendars directly, with no vdirsyncer/khal required. This khal guide remains for users who prefer it.

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