{ ... }: { lux.pim = { homeManager = { config, ... }: let calendarsPath = "${config.xdg.dataHome}/calendars"; in { programs.pimsync.enable = true; services.pimsync.enable = true; programs.khal = { # FIXME: Temporarily disabled because of bug in nixpkgs-unstable (27-02-26) enable = false; locale = { timeformat = "%H:%M"; dateformat = "$m-$d"; }; }; programs.todoman = { enable = true; glob = "*/*"; extraConfig = '' date_format = "%Y-%m-%d" time_format = "%H:%M" default_list = "personal" default_due = 0 default_command = "list --sort priority,due" humanize = True ''; }; accounts.calendar = { basePath = calendarsPath; accounts = { "radicale" = { primary = true; primaryCollection = "personal"; local = { type = "filesystem"; fileExt = ".ics"; }; remote = { url = "https://radicale.jelles.net/"; type = "caldav"; userName = "kiri"; passwordCommand = [ "rbw" "get" "Radicale" ]; }; pimsync = { enable = true; extraPairDirectives = [ { name = "collections"; params = [ "from b" ]; } ]; }; khal = { enable = true; type = "discover"; color = "light blue"; }; }; }; }; }; }; }