aboutsummaryrefslogtreecommitdiffstats
path: root/modules/communication/neomutt/account/assertions.nix
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar@gmail.com>2026-09-18 05:56:06 +0530
committerArpit Chakladar <arpitchakladar@gmail.com>2026-09-18 05:56:06 +0530
commit453c4a6002e51265f5bcaef3bf53a1362f4c7b6a (patch)
tree9c0fde144654579e70c3625ecb7a1dbbc25cd26b /modules/communication/neomutt/account/assertions.nix
parent9e5e6a6965af6843bba27fab8723bb416ecdceab (diff)
downloadhome-manager-config-453c4a6002e51265f5bcaef3bf53a1362f4c7b6a.tar.gz
home-manager-config-453c4a6002e51265f5bcaef3bf53a1362f4c7b6a.zip
chore(communication/neomutt): some minor refactoring
Diffstat (limited to 'modules/communication/neomutt/account/assertions.nix')
-rw-r--r--modules/communication/neomutt/account/assertions.nix30
1 files changed, 30 insertions, 0 deletions
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.
+ '';
+ }
+ ];
+}