From 0a7afa2d1e576f05253b62c6b17e5e4873fbdebc Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Tue, 4 Aug 2026 20:01:06 +0530 Subject: feat: moved gpg data directory, other gopass ssh keys, script builder - Using ~/.local/share/gnupg/ for storing the data for gnupg, and made the necessary changes in all places to that effect - Additional ssh keys can be added to gopass under ssh/, which is on top of the git servers that already existed - Using pkgs.writeShellApplication for creating the scripts, stopped setting path for each dependency (creating a long PATH variable and thus finding binaries may take longer), instead using the inbuild dependency (runtimeInputs) for the scripts --- modules/communication/neomutt/macros.nix | 34 ++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 13 deletions(-) (limited to 'modules/communication/neomutt/macros.nix') diff --git a/modules/communication/neomutt/macros.nix b/modules/communication/neomutt/macros.nix index 3fdc769..4a1fd5d 100644 --- a/modules/communication/neomutt/macros.nix +++ b/modules/communication/neomutt/macros.nix @@ -3,18 +3,19 @@ { config.programs.neomutt.macros = lib.mkIf config.communication.neomutt.enable [ { + # sync the mailbox and run the external sync script, silencing the + # "press any key" prompt around it. Vim mnemonic: g-prefixed, "go sync". map = [ "index" "pager" ]; - key = "O"; + key = "gs"; action = "set my_wait_key=$wait_key wait_key=no${lib.getExe config.scripts.neomutt-sync.package}set wait_key=$my_wait_key"; } { - # gx: open the message body in interactive chawan -- real vim-style - # cursor navigation (hjkl, Tab/Shift-Tab between links, Enter to - # follow, B back, q to return to neomutt). Replaces the old - # urlscan-based link picker. + # extract every URL from the message via urlscan into a picker menu, + # then follow the selected one. Vim mnemonic: gx, same as vim-plugins + # that open the link/file under the cursor. map = [ "index" "pager" @@ -23,35 +24,42 @@ action = "urlscan"; } { - # Ctrl-B in the pager: same interactive chawan view as gx, kept as - # a second binding since Ctrl-B is a common muscle-memory key - # for "open this in a browser-like view". + # open the message body in interactive chawan -- real vim-style + # cursor navigation (hjkl, Tab/Shift-Tab between links, Enter to + # follow, B back, q to return to neomutt). Replaces the old + # urlscan-based link picker. + # Kept on Ctrl-B since that's common muscle-memory for "open this in + # a browser-like view" - previous-page is intentionally NOT bound to + # Ctrl-B in the pager (see binds.nix) so this doesn't get shadowed. map = [ "pager" ]; key = "\\Cb"; action = "set my_pipe_decode=$pipe_decode pipe_decode=yes${lib.getExe config.web.chawan.package} -o \"title='neomutt'\"set pipe_decode=$my_pipe_decode"; } { - # Ctrl-B on a specific attachment (not just the top-level + # on a specific attachment (not just the top-level # message): pipe-entry sends the selected attachment instead. + # Same gx mnemonic as the index/pager macro above. map = [ "attach" ]; - key = "\\Cb"; + key = "gx"; action = "${lib.getExe config.web.chawan.package} -o \"title='neomutt'\" "; } { - # gF: clear the current limit/filter and show every message again, + # clear the current limit/filter and show every message again, # the counterpart to gf (interactive limit prompt) in binds.nix map = [ "index" ]; key = "gF"; action = "all"; } { - # ZZ: save and quit, vim-style (sync mailbox, then quit) + # save and quit, vim-style (sync mailbox, then quit) - same ZZ + # you'd type in vim to write and exit map = [ "index" ]; key = "ZZ"; action = ""; } { - # ZQ: quit without saving, vim-style counterpart to ZZ + # quit without saving, vim-style counterpart to ZZ - same ZQ + # you'd type in vim to discard and exit map = [ "index" ]; key = "ZQ"; action = ""; -- cgit v1.2.3