From 453c4a6002e51265f5bcaef3bf53a1362f4c7b6a Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Fri, 18 Sep 2026 05:56:06 +0530 Subject: chore(communication/neomutt): some minor refactoring --- .../communication/neomutt/account/assertions.nix | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 modules/communication/neomutt/account/assertions.nix (limited to 'modules/communication/neomutt/account/assertions.nix') diff --git a/modules/communication/neomutt/account/assertions.nix b/modules/communication/neomutt/account/assertions.nix new file mode 100644 index 0000000..c19ab72 --- /dev/null +++ b/modules/communication/neomutt/account/assertions.nix @@ -0,0 +1,30 @@ +# Validates the neomutt account configurations +{ config, lib, ... }: +{ + config.assertions = [ + { + assertion = + !config.communication.neomutt.enable + || !lib.any (account: account.enable && account.passwordGopassSecret != null) ( + lib.attrValues config.communication.neomutt.accounts + ) + || config.security.gopass.enable; + message = '' + An enabled communication.neomutt account uses passwordGopassSecret but security.gopass.enable is not set. + Enable security.gopass to provide the account password command. + ''; + } + { + assertion = + !config.communication.neomutt.enable + || !lib.any (account: account.enable && account.gpg.key != null) ( + lib.attrValues config.communication.neomutt.accounts + ) + || config.security.gpg.enable; + message = '' + An enabled communication.neomutt account specifies a GPG key but security.gpg.enable is not set. + Enable security.gpg to provide mail signing and encryption support. + ''; + } + ]; +} -- cgit v1.2.3