From 1314456be1c96e7c61487a7eee11f80682dafdf1 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Thu, 9 Jul 2026 01:57:05 +0530 Subject: feat: added assertions for automatically validation related options Some programs and their configurations may depend on other programs. For a truly portable configuration users must be able to get appropriate error messages if a options is enabled but its requirements (like a dependent option) is not met. The build crashes for those and keeps the config concise. --- modules/programs/aerc/assertions.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 modules/programs/aerc/assertions.nix (limited to 'modules/programs/aerc/assertions.nix') diff --git a/modules/programs/aerc/assertions.nix b/modules/programs/aerc/assertions.nix new file mode 100644 index 0000000..a2b49c1 --- /dev/null +++ b/modules/programs/aerc/assertions.nix @@ -0,0 +1,19 @@ +{ config, ... }: +{ + assertions = [ + { + assertion = !config.programs.aerc.enable || config.programs.less.enable; + message = '' + programs.aerc is enabled but programs.less.enable is not. + aerc requires less as its pager. Please enable programs.less. + ''; + } + { + assertion = !config.programs.aerc.enable || config.programs.bat.enable; + message = '' + programs.aerc is enabled but programs.bat.enable is not. + aerc requires bat for text/html filtering. Please enable programs.bat. + ''; + } + ]; +} -- cgit v1.2.3