WIP
This commit is contained in:
parent
b78fc81374
commit
b545641c6e
|
@ -23,6 +23,7 @@ let
|
||||||
msmtp.enable = true;
|
msmtp.enable = true;
|
||||||
notmuch.enable = true;
|
notmuch.enable = true;
|
||||||
neomutt.enable = true;
|
neomutt.enable = true;
|
||||||
|
neomutt.extraMailboxes = boxes;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -54,6 +55,7 @@ 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" ]; };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,107 +1,159 @@
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
let
|
let
|
||||||
inherit (pkgs.uservars) key;
|
inherit (pkgs.uservars) key;
|
||||||
inherit (lib) toUpper;
|
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
|
in
|
||||||
{
|
{
|
||||||
programs.neomutt.enable = true;
|
programs.neomutt.enable = true;
|
||||||
programs.neomutt.binds = [
|
programs.neomutt.sidebar.enable = false;
|
||||||
{
|
programs.neomutt.sort = "reverse-date";
|
||||||
map = [ "index" ];
|
programs.neomutt.binds =
|
||||||
key = key.left;
|
(mkDirectionBindsControl [ "index" "pager" ] {
|
||||||
action = "noop";
|
up = "half-up";
|
||||||
}
|
down = "half-down";
|
||||||
{
|
}) ++
|
||||||
map = [ "index" ];
|
(mkDirectionBindsControl [ "index" "pager" ] {
|
||||||
key = key.down;
|
left = "sidebar-toggle-visible";
|
||||||
action = "next-entry";
|
down = "sidebar-next";
|
||||||
}
|
up = "sidebar-prev";
|
||||||
{
|
right = "sidebar-open";
|
||||||
map = [ "index" ];
|
}) ++
|
||||||
key = key.up;
|
(mkDirectionBinds [ "index" ] {
|
||||||
action = "previous-entry";
|
left = "noop";
|
||||||
}
|
down = "next-entry";
|
||||||
{
|
up = "previous-entry";
|
||||||
map = [ "index" ];
|
right = "display-message";
|
||||||
key = key.right;
|
}) ++
|
||||||
action = "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 = [ "attach" ];
|
|
||||||
key = key.up;
|
|
||||||
action = "previous-entry";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
map = [ "attach" ];
|
|
||||||
key = key.down;
|
|
||||||
action = "next-entry";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
map = [ "attach" ];
|
|
||||||
key = key.left;
|
|
||||||
action = "exit";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
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" ];
|
map = [ "browser" ];
|
||||||
key = key.left;
|
key = key.left;
|
||||||
action = "goto-parent";
|
action = "goto-parent";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
map = [ "index" "pager" ];
|
# {
|
||||||
key = "\\C${ key.down }";
|
# map = [ "index" "pager" ];
|
||||||
action = "sidebar-next";
|
# key = mkControlBind key.down;
|
||||||
}
|
# action = "sidebar-next";
|
||||||
{
|
# }
|
||||||
map = [ "index" "pager" ];
|
# {
|
||||||
key = "\\C${ key.up }";
|
# map = [ "index" "pager" ];
|
||||||
action = "sidebar-prev";
|
# key = mkControlBind key.up;
|
||||||
}
|
# action = "sidebar-prev";
|
||||||
{
|
# }
|
||||||
map = [ "index" "pager" ];
|
# {
|
||||||
key = "\\C${ key.right }";
|
# map = [ "index" "pager" ];
|
||||||
action = "sidebar-open";
|
# key = mkControlBind key.right;
|
||||||
}
|
# action = "sidebar-open";
|
||||||
{
|
# }
|
||||||
map = [ "index" "pager" ];
|
# {
|
||||||
key = "\\C${ key.left }";
|
# map = [ "index" "pager" ];
|
||||||
action = "sidebar-toggle-visible";
|
# key = mkControlBind key.left;
|
||||||
}
|
# action = "sidebar-toggle-visible";
|
||||||
|
# }
|
||||||
|
|
||||||
];
|
];
|
||||||
programs.neomutt.extraConfig = lib.readFile ./neomuttrc;
|
programs.neomutt.extraConfig = ''
|
||||||
|
source extra
|
||||||
|
'';
|
||||||
|
xdg.configFile."neomutt/extra".source = config.lib.file.mkOutOfStoreSymlink "/home/lelgenio/projects/nixos-config/user/neomutt/neomuttrc";
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,21 +31,27 @@ set use_from = yes
|
||||||
# }}}
|
# }}}
|
||||||
# General {{{
|
# General {{{
|
||||||
|
|
||||||
set use_threads = threads
|
# set use_threads = threads
|
||||||
set sort = reverse-last-date
|
set sort = threads
|
||||||
set sort_aux = last-date
|
set sort_aux = reverse-last-date
|
||||||
|
|
||||||
set mail_check_stats = yes
|
set mail_check_stats = yes
|
||||||
set mail_check_stats_interval = 10
|
set mail_check_stats_interval = 10
|
||||||
|
|
||||||
set mark_old = no # Unread mail stay unread until read
|
set mark_old = no # Unread mail stay unread until read
|
||||||
|
|
||||||
set mailcap_path = ~/.config/neomutt/mailcap
|
set mailcap_path = ~/.config/neomutt/mailcap
|
||||||
|
|
||||||
auto_view text/html # automatically show html
|
auto_view text/html # automatically show html
|
||||||
auto_view application/pgp-encrypted
|
auto_view application/pgp-encrypted
|
||||||
alternative_order text/plain text/enriched text/html
|
alternative_order text/plain text/enriched text/html
|
||||||
|
|
||||||
set query_command= "khard email --parsable %s"
|
set query_command= "khard email --parsable %s"
|
||||||
|
|
||||||
|
# unmailboxes *
|
||||||
|
mailboxes 'notmuch://?query=tag:inbox'
|
||||||
|
set spoolfile = 'notmuch://?query=tag:inbox'
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
# General rebindings{{{
|
# General rebindings{{{
|
||||||
|
|
||||||
|
@ -115,7 +121,7 @@ set sidebar_visible = yes
|
||||||
set sidebar_width = 20
|
set sidebar_width = 20
|
||||||
set sidebar_short_path = yes
|
set sidebar_short_path = yes
|
||||||
set sidebar_next_new_wrap = yes
|
set sidebar_next_new_wrap = yes
|
||||||
# set mail_check_stats
|
set mail_check_stats
|
||||||
set sidebar_format = '%B%?F? [%F]?%* %?N?%N/? %?S?%S?'
|
set sidebar_format = '%B%?F? [%F]?%* %?N?%N/? %?S?%S?'
|
||||||
|
|
||||||
|
|
||||||
|
@ -131,11 +137,43 @@ set markers = no
|
||||||
set date_format="%m/%d %H:%M"
|
set date_format="%m/%d %H:%M"
|
||||||
set index_format="%3C %zs %?X?A& ? %D %-15.15F %s"
|
set index_format="%3C %zs %?X?A& ? %D %-15.15F %s"
|
||||||
|
|
||||||
set display_filter = '_mutt_escape-html-chars'
|
# set display_filter = '_mutt_escape-html-chars'
|
||||||
|
|
||||||
#}}}
|
#}}}
|
||||||
# colors{{{
|
# 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
|
# # General
|
||||||
# color status black default
|
# color status black default
|
||||||
# color indicator brightwhite {{@@ accent_color_name @@}}
|
# color indicator brightwhite {{@@ accent_color_name @@}}
|
||||||
|
|
Loading…
Reference in a new issue