GNOME DAV Support Shim for syncing Gnome contacts to CalDAV/CardDAV server

I discovered this pretty cool little shim that emulates NextCloud and redirects DAV URLs to your DAV server of choice. This allows for syncing of Gnome Calendar and Contacts to your own Radicale server, via a fake Nextcloud account.

I’m having difficulty getting the service to run on PureOS. It seems to have installed successfully, and systemctl shows that it is running. However I am unable to interact directly with the gnome-dav-shim.service using systemctl. Start, stop and status commands all yield the same error.

$ systemctl stop gnome-dav-shim.service
Failed to stop gnome-dav-shim.service: Unit gnome-dav-shim.service not loaded.
$ systemctl start gnome-dav-shim.service
Failed to start gnome-dav-shim.service: Unit gnome-dav-shim.service not found.
$ systemctl status gnome-dav-shim.service
Unit gnome-dav-shim.service could not be found.

Yet systemctl status shows this running under user@1000.service

│ │ └─64724 /home/seth/.local/bin/gnome-dav-support --cal https://dav.domain.tld/seth --card https://dav.domain.tld/seth

Has anyone else managed to get the shim installed and running properly? Finally having a way to sync my calendar and contacts on the Gnome desktop would be a huge usability win for me.

For some historical background, here is the long running Gnome Gitlab issue where adding support for CalDAV and CardDAV sync is discussed. That’s also where I found out about the Gnome DAV support shim.

1 Like

Needs systemctl --user status ...
? i.e. add --user

1 Like

Ah, that was it, thank you.

Another thing I got wrong was the server name field for the Nextcloud account setup.
It requires http://localhost:8223 then it will work.

$ systemctl --user status gnome-dav-shim
● gnome-dav-shim.service - GNOME DAV support shim
     Loaded: loaded (/home/seth/.config/systemd/user/gnome-dav-shim.service; enabled; preset: enabled)
     Active: active (running) since Tue 2024-06-18 09:25:02 PDT; 14h ago
   Main PID: 64724 (gnome-dav-suppo)
      Tasks: 6 (limit: 9830)
     Memory: 10.7M
        CPU: 19ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/gnome-dav-shim.service
             └─64724 /home/seth/.local/bin/gnome-dav-support --cal https://dav.domain.tld/seth --card https://dav.domain.tld/seth

Jun 18 09:25:02 mini systemd[2609]: Started gnome-dav-shim.service - GNOME DAV support shim.
Jun 18 09:25:02 mini gnome-dav-support[64724]: Starting at :8223
1 Like

So, it’s great if that works for you, but I’m going to ask anyway: why don’t you go the Evolution route? Sure, it’s terrible in terms of discoverability and slightly tricky if you don’t have an external screen and the hub that goes with it, but it’s a one-time operation and surely beats having an intermediary component eating precious memory, bringing overhead and a single point of failure?

I did that three years ago, promptly uninstalled Evolution and have been happy ever since…

1 Like

I wasn’t even aware of the Evolution option until after I discovered DAV shim software. Maybe I’ll try it if this one becomes an issue, but having battled with Evolution many years ago, I have close to zero desire to interact with the software again unless absolutely necessary.

The bigger problem I’m having is getting the contact groups in my Apple Contacts app to translate across to Gnome contacts via the radicale DAV server. My calendars seem to be working well.

1 Like