# Validates the configured khal calendars. { config, lib, ... }: let cfg = config.office.khal; primaryCalendars = builtins.filter (calendar: calendar.primary) (builtins.attrValues cfg.calendars); in { config = lib.mkIf cfg.enable { assertions = [ { assertion = cfg.calendars != { }; message = "office.khal.enable requires at least one office.khal.calendars entry."; } { assertion = builtins.length primaryCalendars == 1; message = "Exactly one office.khal.calendars entry must set primary = true."; } ]; }; }