diff options
| author | Arpit Chakladar <arpit@chakladar.me> | 2026-10-10 05:35:42 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpit@chakladar.me> | 2026-10-10 05:35:42 +0530 |
| commit | 9feb535acecac26338f481812eebb5368071ac34 (patch) | |
| tree | 08a9660641ef06ed1f67d31164bdb127d9742626 /modules/office/khal/assertions.nix | |
| parent | 257fbdf2d09642ac6291461b1c5057da889591b9 (diff) | |
| download | home-manager-config-9feb535acecac26338f481812eebb5368071ac34.tar.gz home-manager-config-9feb535acecac26338f481812eebb5368071ac34.zip | |
feat(office/khal): support multiple calendars
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."; + } + ]; + }; +} |
