{ config, lib, pkgs, ... }: { programs = { vdirsyncer.enable = true; khal.enable = true; }; services.vdirsyncer.enable = true; accounts.calendar = { basePath = ".calendar"; accounts = { nextcloud = { primary = true; primaryCollection = "Personal"; local = { type = "filesystem"; fileExt = ".ics"; }; remote = { type = "caldav"; url = "https://cloud.xenia.me.uk/remote.php/dav"; userName = "xenia"; passwordCommand = [ "${pkgs.libsecret}/bin/secret-tool" "lookup" "url" "cloud.xenia.me.uk" ]; }; vdirsyncer = { enable = true; collections = [ "from a" ]; metadata = [ "color" "displayname" ]; }; khal = { enable = true; type = "discover"; }; }; ukaea = { local = { type = "filesystem"; fileExt = ".ics"; }; remote = rec { inherit (config.accounts.email.accounts.ukaea) userName passwordCommand; type = "caldav"; url = "http://localhost:1080/users/${userName}/calendar/"; }; vdirsyncer.collections = [ "from a" ]; khal.type = "discover"; }; }; }; }