blob: e4fbcb394fc41d83b63362a72dcc7f6da75e7705 (
plain) (
tree)
|
|
{pkgs, ...}: {
programs.neomutt = {
enable = true;
package = pkgs.writeShellScriptBin "neomutt" ''
systemctl --user start mbsync.service;
${pkgs.neomutt}/bin/neomutt;
'';
vimKeys = false; # see the modified ones below
checkStatsInterval = 60;
binds = [
#------------------------------------------------------------
# Vi Key Bindings (taken from their configuration, modified for dvorak)
#------------------------------------------------------------
# Moving around
{
action = "noop";
key = "g";
map = ["attach" "browser" "index"];
}
{
action = "first-entry";
key = "gg";
map = ["attach" "browser" "index"];
}
{
action = "last-entry";
key = "G";
map = ["attach" "browser" "index"];
}
{
action = "noop";
key = "g";
map = ["pager"];
}
{
action = "top";
key = "gg";
map = ["pager"];
}
{
action = "bottom";
key = "G";
map = ["pager"];
}
{
action = "previous-line";
key = "n";
map = ["pager"];
}
{
action = "next-line";
key = "t";
map = ["pager"];
}
# Scrolling
{
action = "next-page";
key = "\\CF";
map = ["attach" "browser" "pager" "index"];
}
{
action = "previous-page";
key = "\\CB";
map = ["attach" "browser" "pager" "index"];
}
{
action = "half-up";
key = "\\Cu";
map = ["attach" "browser" "pager" "index"];
}
{
action = "half-down";
key = "\\Cd";
map = ["attach" "browser" "pager" "index"];
}
{
action = "next-line";
key = "\\Ce";
map = ["browser" "pager"];
}
{
action = "previous-line";
key = "\\Cy";
map = ["browser" "pager"];
}
{
action = "next-line";
key = "\\Ce";
map = ["index"];
}
{
action = "previous-line";
key = "\\Cy";
map = ["index"];
}
{
action = "noop";
key = "d";
map = ["pager" "index"];
}
{
action = "delete-message";
key = "dd";
map = ["pager" "index"];
}
# Mail & Reply
{
# Doesn't work currently
action = "list-reply";
key = "\\Cm";
map = ["index"];
}
# Threads
{
action = "search-opposite";
key = "N";
map = ["browser" "pager" "index"];
}
{
action = "delete-thread";
key = "dT";
map = ["pager" "index"];
}
{
action = "delete-subthread";
key = "dt";
map = ["pager" "index"];
}
{
action = "next-thread";
key = "gt";
map = ["pager" "index"];
}
{
action = "previous-thread";
key = "gT";
map = ["pager" "index"];
}
{
action = "collapse-thread";
key = "za";
map = ["index"];
}
{
# Missing: folddisable/foldenable
action = "collapse-all";
key = "zA";
map = ["index"];
}
{
action = "search-next";
key = "l";
map = ["index"];
}
{
action = "limit";
key = "f";
map = ["index"];
}
];
};
}
|