aboutsummaryrefslogtreecommitdiffstats
path: root/modules/communication/neomutt/account
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-18 12:15:20 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-18 12:15:20 +0530
commit4124a5ae231a585b945c9547a3ab0c37a4eba7e3 (patch)
treeb51774266eab457a13ee176bd6cd76b093b16d03 /modules/communication/neomutt/account
parent302f83b23b364b08dc47725266db5e20437d71e4 (diff)
downloadhome-manager-config-4124a5ae231a585b945c9547a3ab0c37a4eba7e3.tar.gz
home-manager-config-4124a5ae231a585b945c9547a3ab0c37a4eba7e3.zip
refactor: replace zsh deps with runtimeShell, migrate scripts from symlinkJoin to runCommand, add missing assertions and deps
Scripts: Migrated from symlinkJoin to runCommand; replaced zsh dependency with pkgs.runtimeShell across polybar, scripts, and fzf-launcher Assertions: Added gopass/gpg checks for neomutt, signing checks for git, git dependency for lazygit, file-preview deps for lf, desktop/kitten checks for scripts Lazygit: Fixed mkIf placement, imported assertions Neomutt: Removed verbose keybinding descriptions Nixvim: Removed <c-c> notification-clear mapping File preview: Replaced libreoffice document preview with pandoc/antiword (terminal-based) Fzf launcher: Fixed bash compatibility (setopt → shopt -s) Deps: Added coreutils, fontconfig, antiword, pandoc, util-linux, bash, findutils, grep, sed, gawk, ncurses to various scripts
Diffstat (limited to 'modules/communication/neomutt/account')
-rw-r--r--modules/communication/neomutt/account/default.nix31
1 files changed, 30 insertions, 1 deletions
diff --git a/modules/communication/neomutt/account/default.nix b/modules/communication/neomutt/account/default.nix
index 0b75c9a..4d32ad7 100644
--- a/modules/communication/neomutt/account/default.nix
+++ b/modules/communication/neomutt/account/default.nix
@@ -20,7 +20,36 @@ in
description = "Specification of email accounts.";
};
- config = mkIf config.communication.neomutt.enable {
+ 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.
+ '';
+ }
+ ];
+
+ }
+ // mkIf config.communication.neomutt.enable {
accounts.email.accounts = mapAttrs (
name: account:
let