diff options
Diffstat (limited to 'modules/office/khal/assertions.nix')
| -rw-r--r-- | modules/office/khal/assertions.nix | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/modules/office/khal/assertions.nix b/modules/office/khal/assertions.nix new file mode 100644 index 0000000..bda7797 --- /dev/null +++ b/modules/office/khal/assertions.nix @@ -0,0 +1,20 @@ +# 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."; + } + ]; + }; +} |
