Compare commits
No commits in common. "b545641c6e80ddecc8db8f323e8ce6f702f7d067" and "a45a6dcfd4a614f63e567aafb5b96f898fe25a37" have entirely different histories.
b545641c6e
...
a45a6dcfd4
|
@ -22,8 +22,6 @@ let
|
||||||
};
|
};
|
||||||
msmtp.enable = true;
|
msmtp.enable = true;
|
||||||
notmuch.enable = true;
|
notmuch.enable = true;
|
||||||
neomutt.enable = true;
|
|
||||||
neomutt.extraMailboxes = boxes;
|
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -55,7 +53,6 @@ in
|
||||||
passwordCommand = toString (pkgs.writeShellScript "get_pass" ''
|
passwordCommand = toString (pkgs.writeShellScript "get_pass" ''
|
||||||
pass "Trabalho/wopus_email/leonardo@wopus.com.br" | head -n1
|
pass "Trabalho/wopus_email/leonardo@wopus.com.br" | head -n1
|
||||||
'');
|
'');
|
||||||
folders.inbox = "INBOX";
|
|
||||||
} // defaultAccountSettings { boxes = [ "INBOX" ]; };
|
} // defaultAccountSettings { boxes = [ "INBOX" ]; };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
./mimeapps.nix
|
./mimeapps.nix
|
||||||
./chat.nix
|
./chat.nix
|
||||||
./email.nix
|
./email.nix
|
||||||
./neomutt
|
|
||||||
./syncthing.nix
|
./syncthing.nix
|
||||||
./vdir.nix
|
./vdir.nix
|
||||||
./bmenu.nix
|
./bmenu.nix
|
||||||
|
|
|
@ -1,159 +0,0 @@
|
||||||
{ pkgs, lib, config, ... }:
|
|
||||||
let
|
|
||||||
inherit (pkgs.uservars) key;
|
|
||||||
inherit (lib) toUpper;
|
|
||||||
|
|
||||||
mkControlBind = key: ''"^${ key }"'';
|
|
||||||
mkAltBind = key: ''"\e${ key }"'';
|
|
||||||
|
|
||||||
mkDirectionBinds' = filter: modes: commands: map
|
|
||||||
(direction: lib.mkIf (lib.hasAttr direction commands) {
|
|
||||||
map = modes;
|
|
||||||
key = filter key.${direction};
|
|
||||||
action = commands.${direction};
|
|
||||||
}) [ "left" "down" "up" "right" ];
|
|
||||||
|
|
||||||
mkDirectionBinds = mkDirectionBinds' (x: x);
|
|
||||||
mkDirectionBindsControl = mkDirectionBinds' mkControlBind;
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
programs.neomutt.enable = true;
|
|
||||||
programs.neomutt.sidebar.enable = false;
|
|
||||||
programs.neomutt.sort = "reverse-date";
|
|
||||||
programs.neomutt.binds =
|
|
||||||
(mkDirectionBindsControl [ "index" "pager" ] {
|
|
||||||
up = "half-up";
|
|
||||||
down = "half-down";
|
|
||||||
}) ++
|
|
||||||
(mkDirectionBindsControl [ "index" "pager" ] {
|
|
||||||
left = "sidebar-toggle-visible";
|
|
||||||
down = "sidebar-next";
|
|
||||||
up = "sidebar-prev";
|
|
||||||
right = "sidebar-open";
|
|
||||||
}) ++
|
|
||||||
(mkDirectionBinds [ "index" ] {
|
|
||||||
left = "noop";
|
|
||||||
down = "next-entry";
|
|
||||||
up = "previous-entry";
|
|
||||||
right = "display-message";
|
|
||||||
}) ++
|
|
||||||
(mkDirectionBinds [ "pager" ] {
|
|
||||||
left = "exit";
|
|
||||||
down = "next-line";
|
|
||||||
up = "previous-line";
|
|
||||||
right = "view-attachments";
|
|
||||||
}) ++
|
|
||||||
(mkDirectionBinds [ "attach" ] {
|
|
||||||
left = "exit";
|
|
||||||
down = "next-entry";
|
|
||||||
up = "previous-entry";
|
|
||||||
right = "view-mailcap";
|
|
||||||
}) ++ [
|
|
||||||
# {
|
|
||||||
# map = [ "index" ];
|
|
||||||
# key = key.left;
|
|
||||||
# action = "noop";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# map = [ "index" ];
|
|
||||||
# key = key.down;
|
|
||||||
# action = "next-entry";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# map = [ "index" ];
|
|
||||||
# key = key.up;
|
|
||||||
# action = "previous-entry";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# map = [ "index" ];
|
|
||||||
# key = key.right;
|
|
||||||
# action = "display-message";
|
|
||||||
# }
|
|
||||||
|
|
||||||
# {
|
|
||||||
# map = [ "attach" ];
|
|
||||||
# key = key.left;
|
|
||||||
# action = "exit";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# map = [ "attach" ];
|
|
||||||
# key = key.down;
|
|
||||||
# action = "next-entry";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# map = [ "attach" ];
|
|
||||||
# key = key.up;
|
|
||||||
# action = "previous-entry";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# map = [ "attach" ];
|
|
||||||
# key = key.right;
|
|
||||||
# action = "view-mailcap";
|
|
||||||
# }
|
|
||||||
|
|
||||||
# {
|
|
||||||
# map = [ "pager" ];
|
|
||||||
# key = key.left;
|
|
||||||
# action = "exit";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# map = [ "pager" ];
|
|
||||||
# key = key.down;
|
|
||||||
# action = "next-line";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# map = [ "pager" ];
|
|
||||||
# key = key.up;
|
|
||||||
# action = "previous-line";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# map = [ "pager" ];
|
|
||||||
# key = key.right;
|
|
||||||
# action = "view-attachments";
|
|
||||||
# }
|
|
||||||
|
|
||||||
# {
|
|
||||||
# map = [ "index" "pager" "browser" ];
|
|
||||||
# key = toUpper key.up;
|
|
||||||
# action = "half-up";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# map = [ "index" "pager" "browser" ];
|
|
||||||
# key = toUpper key.down;
|
|
||||||
# action = "half-down";
|
|
||||||
# }
|
|
||||||
|
|
||||||
{
|
|
||||||
map = [ "browser" ];
|
|
||||||
key = key.left;
|
|
||||||
action = "goto-parent";
|
|
||||||
}
|
|
||||||
|
|
||||||
# {
|
|
||||||
# map = [ "index" "pager" ];
|
|
||||||
# key = mkControlBind key.down;
|
|
||||||
# action = "sidebar-next";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# map = [ "index" "pager" ];
|
|
||||||
# key = mkControlBind key.up;
|
|
||||||
# action = "sidebar-prev";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# map = [ "index" "pager" ];
|
|
||||||
# key = mkControlBind key.right;
|
|
||||||
# action = "sidebar-open";
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# map = [ "index" "pager" ];
|
|
||||||
# key = mkControlBind key.left;
|
|
||||||
# action = "sidebar-toggle-visible";
|
|
||||||
# }
|
|
||||||
|
|
||||||
];
|
|
||||||
programs.neomutt.extraConfig = ''
|
|
||||||
source extra
|
|
||||||
'';
|
|
||||||
xdg.configFile."neomutt/extra".source = config.lib.file.mkOutOfStoreSymlink "/home/lelgenio/projects/nixos-config/user/neomutt/neomuttrc";
|
|
||||||
}
|
|
|
@ -1,214 +0,0 @@
|
||||||
# {{@@ header() @@}}
|
|
||||||
# _ _ _ _
|
|
||||||
# | \ | | ___ ___ _ __ ___ _ _| |_| |_
|
|
||||||
# | \| |/ _ \/ _ \| '_ ` _ \| | | | __| __|
|
|
||||||
# | |\ | __/ (_) | | | | | | |_| | |_| |_
|
|
||||||
# |_| \_|\___|\___/|_| |_| |_|\__,_|\__|\__|
|
|
||||||
|
|
||||||
|
|
||||||
# Mailbox {{{
|
|
||||||
|
|
||||||
|
|
||||||
# Set MailDir
|
|
||||||
# set mbox_type = Maildir
|
|
||||||
# set header_cache = ~/.cache/mutt/
|
|
||||||
# set my_mailroot = ~/.local/share/mail
|
|
||||||
|
|
||||||
set use_from = yes
|
|
||||||
# set ssl_force_tls = yes
|
|
||||||
|
|
||||||
# {%@@ for name, info in mail.items() | reverse @@%}
|
|
||||||
# set my_source_command = "_mutt_get-mail '{{@@ name @@}}' |"
|
|
||||||
# folder-hook "$my_mailroot/{{@@ name @@}}/" source "\"$my_source_command\""
|
|
||||||
# source "$my_source_command"
|
|
||||||
# {%@@ endfor @@%}
|
|
||||||
|
|
||||||
# {%@@ for name, info in mail.items() @@%}
|
|
||||||
# set my_source_command = "_mutt_get-mail '{{@@ name @@}}' |"
|
|
||||||
# macro index,pager <f{{@@ loop.index @@}}> "<sync-mailbox><enter-command>source \"$my_source_command\"<enter><change-folder>!<enter>"
|
|
||||||
# {%@@ endfor @@%}
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
# General {{{
|
|
||||||
|
|
||||||
# set use_threads = threads
|
|
||||||
set sort = threads
|
|
||||||
set sort_aux = reverse-last-date
|
|
||||||
|
|
||||||
set mail_check_stats = yes
|
|
||||||
set mail_check_stats_interval = 10
|
|
||||||
|
|
||||||
set mark_old = no # Unread mail stay unread until read
|
|
||||||
|
|
||||||
set mailcap_path = ~/.config/neomutt/mailcap
|
|
||||||
|
|
||||||
auto_view text/html # automatically show html
|
|
||||||
auto_view application/pgp-encrypted
|
|
||||||
alternative_order text/plain text/enriched text/html
|
|
||||||
|
|
||||||
set query_command= "khard email --parsable %s"
|
|
||||||
|
|
||||||
# unmailboxes *
|
|
||||||
mailboxes 'notmuch://?query=tag:inbox'
|
|
||||||
set spoolfile = 'notmuch://?query=tag:inbox'
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
# General rebindings{{{
|
|
||||||
|
|
||||||
# index
|
|
||||||
#
|
|
||||||
|
|
||||||
bind index <left> noop
|
|
||||||
bind index <down> next-entry
|
|
||||||
bind index <up> previous-entry
|
|
||||||
bind index <right> display-message
|
|
||||||
|
|
||||||
|
|
||||||
bind index g noop # needed to allow gg
|
|
||||||
bind index G last-entry
|
|
||||||
bind index gg first-entry
|
|
||||||
|
|
||||||
bind index D delete-message
|
|
||||||
bind index U undelete-message
|
|
||||||
|
|
||||||
bind index L limit
|
|
||||||
bind index <space> tag-entry
|
|
||||||
|
|
||||||
|
|
||||||
# Attachment screen
|
|
||||||
bind attach <return> view-mailcap
|
|
||||||
|
|
||||||
bind editor <space> noop
|
|
||||||
|
|
||||||
|
|
||||||
bind pager <left> exit
|
|
||||||
bind pager <down> next-line
|
|
||||||
bind pager <up> previous-line
|
|
||||||
bind pager <right> view-attachments
|
|
||||||
|
|
||||||
|
|
||||||
macro browser "{{@@ key.left @@}}" '<change-dir><kill-line>..<enter>' "Go to parent folder"
|
|
||||||
bind index,pager H view-raw-message
|
|
||||||
bind browser l select-entry
|
|
||||||
bind pager,browser gg top-page
|
|
||||||
bind pager,browser G bottom-page
|
|
||||||
bind index,pager S sync-mailbox
|
|
||||||
bind index,pager R group-reply
|
|
||||||
|
|
||||||
# Mouse wheel
|
|
||||||
bind index \031 previous-undeleted
|
|
||||||
bind index \005 next-undeleted
|
|
||||||
bind pager \031 previous-line
|
|
||||||
bind pager \005 next-line
|
|
||||||
|
|
||||||
bind editor <Tab> complete-query
|
|
||||||
set abort_key="<ESC>"
|
|
||||||
|
|
||||||
macro index,pager a \
|
|
||||||
"<pipe-message>khard add-email<return>" \
|
|
||||||
"add the sender email address to khard"
|
|
||||||
|
|
||||||
# macro index,pager a "<enter-command>set my_pipe_decode=\$pipe_decode pipe_decode<return><pipe-message>abook --add-email<return><enter-command>set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<return>" "add the sender address to abook"
|
|
||||||
macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
|
|
||||||
macro index O "<shell-escape>mbsync -a<enter>" "run mbsync to sync all mail"
|
|
||||||
macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>read -p 'Enter a search term to find with notmuch: ' x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/ for@a;print@a' \`\"<enter>" "show only messages matching a notmuch pattern"
|
|
||||||
#macro index A "<limit>all\n" "show all messages (undo limit)"
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
# Sidebar mappings{{{
|
|
||||||
|
|
||||||
set sidebar_visible = yes
|
|
||||||
set sidebar_width = 20
|
|
||||||
set sidebar_short_path = yes
|
|
||||||
set sidebar_next_new_wrap = yes
|
|
||||||
set mail_check_stats
|
|
||||||
set sidebar_format = '%B%?F? [%F]?%* %?N?%N/? %?S?%S?'
|
|
||||||
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
# Appearence{{{
|
|
||||||
|
|
||||||
# Don't show the menu bar at the top
|
|
||||||
set help = false
|
|
||||||
|
|
||||||
# Disables the `+` displayed at line wraps
|
|
||||||
set markers = no
|
|
||||||
|
|
||||||
set date_format="%m/%d %H:%M"
|
|
||||||
set index_format="%3C %zs %?X?A& ? %D %-15.15F %s"
|
|
||||||
|
|
||||||
# set display_filter = '_mutt_escape-html-chars'
|
|
||||||
|
|
||||||
#}}}
|
|
||||||
# colors{{{
|
|
||||||
|
|
||||||
# General
|
|
||||||
color status black default
|
|
||||||
color indicator brightwhite red
|
|
||||||
|
|
||||||
# Messages
|
|
||||||
color index default default '.*'
|
|
||||||
color index_number black default
|
|
||||||
color index_author red default '.*'
|
|
||||||
color index_subject green default '.*'
|
|
||||||
|
|
||||||
# New messages
|
|
||||||
color index brightgreen default "~N|~O"
|
|
||||||
color index_author brightred default "~N"
|
|
||||||
color index_subject brightcyan default "~N"
|
|
||||||
|
|
||||||
# Sidebar
|
|
||||||
color sidebar_new green default
|
|
||||||
color sidebar_highlight default green
|
|
||||||
color sidebar_indicator brightwhite red
|
|
||||||
color sidebar_divider black default
|
|
||||||
|
|
||||||
# Header - information for any open email
|
|
||||||
color header default default "^(Date)"
|
|
||||||
color header red default "^(From)"
|
|
||||||
color header green default "^(Subject)"
|
|
||||||
color header brightwhite default "^(CC|BCC)"
|
|
||||||
|
|
||||||
# Content - Body of open email
|
|
||||||
color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
|
|
||||||
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
|
|
||||||
color attachment default black
|
|
||||||
|
|
||||||
# # General
|
|
||||||
# color status black default
|
|
||||||
# color indicator brightwhite {{@@ accent_color_name @@}}
|
|
||||||
|
|
||||||
# # Messages
|
|
||||||
# color index default default '.*'
|
|
||||||
# color index_number black default
|
|
||||||
# color index_author {{@@ accent_color_name @@}} default '.*'
|
|
||||||
# color index_subject green default '.*'
|
|
||||||
|
|
||||||
# # New messages
|
|
||||||
# color index brightgreen default "~N|~O"
|
|
||||||
# color index_author brightred default "~N"
|
|
||||||
# color index_subject brightcyan default "~N"
|
|
||||||
|
|
||||||
# # Sidebar
|
|
||||||
# color sidebar_new green default
|
|
||||||
# color sidebar_highlight default green
|
|
||||||
# color sidebar_indicator brightwhite {{@@ accent_color_name @@}}
|
|
||||||
# color sidebar_divider black default
|
|
||||||
|
|
||||||
# # Header - information for any open email
|
|
||||||
# color header default default "^(Date)"
|
|
||||||
# color header {{@@ accent_color_name @@}} default "^(From)"
|
|
||||||
# color header green default "^(Subject)"
|
|
||||||
# color header brightwhite default "^(CC|BCC)"
|
|
||||||
|
|
||||||
# # Content - Body of open email
|
|
||||||
# color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
|
|
||||||
# color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
|
|
||||||
# color attachment default black
|
|
||||||
|
|
||||||
# # Comically large Regex{{{
|
|
||||||
# color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
# vim: ft=sh
|
|
Loading…
Reference in a new issue