From 4124a5ae231a585b945c9547a3ab0c37a4eba7e3 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Sat, 18 Jul 2026 12:15:20 +0530 Subject: refactor: replace zsh deps with runtimeShell, migrate scripts from symlinkJoin to runCommand, add missing assertions and deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 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 --- modules/communication/neomutt/account/default.nix | 31 ++++++++++++++++++++++- modules/communication/neomutt/macros.nix | 6 ----- 2 files changed, 30 insertions(+), 7 deletions(-) (limited to 'modules/communication') 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 diff --git a/modules/communication/neomutt/macros.nix b/modules/communication/neomutt/macros.nix index e65436c..0548a0f 100644 --- a/modules/communication/neomutt/macros.nix +++ b/modules/communication/neomutt/macros.nix @@ -9,7 +9,6 @@ ]; key = "O"; action = "set my_wait_key=$wait_key wait_key=no${lib.getExe config.scripts.neomutt-sync.package}set wait_key=$my_wait_key"; - description = "sync mailbox (run neomutt-sync)"; } { # gx: extract links from the current message and open one, vim-netrw style @@ -19,7 +18,6 @@ ]; key = "gx"; action = "urlscan"; - description = "extract links from message (netrw-style)"; } { map = [ @@ -28,7 +26,6 @@ ]; key = "gl"; action = "less ~/.config/neomutt/flag_legend.txt"; - description = "show flag legend"; } { # gF: clear the current limit/filter and show every message again, @@ -36,21 +33,18 @@ map = [ "index" ]; key = "gF"; action = "~A"; - description = "clear limit/filter, show all messages"; } { # ZZ: save and quit, vim-style (sync mailbox, then quit) map = [ "index" ]; key = "ZZ"; action = ""; - description = "save changes and quit"; } { # ZQ: quit without saving, vim-style counterpart to ZZ map = [ "index" ]; key = "ZQ"; action = ""; - description = "quit without saving"; } ]; } -- cgit v1.2.3