aboutsummaryrefslogtreecommitdiffstats
path: root/modules/communication/neomutt/account
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar@gmail.com>2026-09-24 19:16:14 +0530
committerArpit Chakladar <arpitchakladar@gmail.com>2026-09-24 19:16:14 +0530
commitf36491c92269d3e1dd241e67c292af762ac498c3 (patch)
tree7e36c45915bf83dc7b69e21830cf0c27397c0592 /modules/communication/neomutt/account
parentf85b86095aa4ea6ac4921b6d37981bffa5c0b711 (diff)
downloadhome-manager-config-f36491c92269d3e1dd241e67c292af762ac498c3.tar.gz
home-manager-config-f36491c92269d3e1dd241e67c292af762ac498c3.zip
refactor: some more minor refactoring
Diffstat (limited to 'modules/communication/neomutt/account')
-rw-r--r--modules/communication/neomutt/account/assertions.nix13
-rw-r--r--modules/communication/neomutt/account/default.nix7
2 files changed, 12 insertions, 8 deletions
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);
};
}