From f36491c92269d3e1dd241e67c292af762ac498c3 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Thu, 24 Sep 2026 19:16:14 +0530 Subject: refactor: some more minor refactoring --- modules/communication/neomutt/account/assertions.nix | 13 +++++++------ modules/communication/neomutt/account/default.nix | 7 +++++-- 2 files changed, 12 insertions(+), 8 deletions(-) (limited to 'modules/communication/neomutt/account') diff --git a/modules/communication/neomutt/account/assertions.nix b/modules/communication/neomutt/account/assertions.nix index 5c30311..09839c8 100644 --- a/modules/communication/neomutt/account/assertions.nix +++ b/modules/communication/neomutt/account/assertions.nix @@ -1,12 +1,15 @@ # Validates the neomutt account configurations { config, lib, ... }: +let + cfg = config.communication.neomutt; +in { config.assertions = [ { assertion = - !config.communication.neomutt.enable + !cfg.enable || !lib.any (account: account.enable && account.password-gopass-secret != null) ( - lib.attrValues config.communication.neomutt.accounts + lib.attrValues cfg.accounts ) || config.security.gopass.enable; message = '' @@ -16,10 +19,8 @@ } { assertion = - !config.communication.neomutt.enable - || !lib.any (account: account.enable && account.gpg.key != null) ( - lib.attrValues config.communication.neomutt.accounts - ) + !cfg.enable + || !lib.any (account: account.enable && account.gpg.key != null) (lib.attrValues cfg.accounts) || config.security.gpg.enable; message = '' An enabled communication.neomutt account specifies a GPG key but security.gpg.enable is not set. diff --git a/modules/communication/neomutt/account/default.nix b/modules/communication/neomutt/account/default.nix index 61256e1..07a4b89 100644 --- a/modules/communication/neomutt/account/default.nix +++ b/modules/communication/neomutt/account/default.nix @@ -1,5 +1,8 @@ # Converts neomutt account options into home-manager email config { config, lib, ... }: +let + cfg = config.communication.neomutt; +in { imports = [ ./assertions.nix @@ -19,7 +22,7 @@ description = "Specification of email accounts."; }; - config = lib.mkIf config.communication.neomutt.enable { + config = lib.mkIf cfg.enable { accounts.email.accounts = lib.mapAttrs (accountName: accountInformation: { inherit (accountInformation) address primary; @@ -109,6 +112,6 @@ command = accountInformation.signature.command; showSignature = accountInformation.signature.show-signature; }; - }) (lib.filterAttrs (n: a: a.enable) config.communication.neomutt.accounts); + }) (lib.filterAttrs (n: a: a.enable) cfg.accounts); }; } -- cgit v1.2.3