dotfiles/home/apps/mail.nix

166 lines
5 KiB
Nix
Raw Normal View History

2023-11-16 08:40:27 +01:00
{config, ...}: {
2024-01-27 14:47:45 +01:00
age.secrets."aerc-personal.conf".path = "${config.xdg.configHome}/aerc/accounts.conf";
2023-05-18 15:10:28 +02:00
programs = {
aerc = {
enable = true;
extraConfig = {
general = {
default-save-path = "~/Downloads";
pgp-provider = "gpg";
2024-01-27 14:47:45 +01:00
# agenix manages the accounts.conf,
2023-05-18 15:10:28 +02:00
# so the permissions appear unsafe to aerc
unsafe-accounts-conf = true;
};
2023-07-19 20:47:52 +02:00
ui = {
border-char-vertical = "";
border-char-horizontal = "";
styleset-name = "catppuccin-mocha";
spinner = ",,,,,,";
spinner-interval = "40ms";
};
2023-05-18 15:10:28 +02:00
filters = {
"text/plain" = "colorize";
"text/html" = "w3m -s -T text/html -o display_link_number=1 -dump | colorize";
"text/calendar" = "calendar";
"message/delivery-status" = "colorize";
"message/rfc822" = "colorize";
};
};
extraBinds = {
global = {
"<C-p>" = ":prev-tab<Enter>";
"<C-n>" = ":next-tab<Enter>";
"<C-t>" = ":term<Enter>";
"?" = ":help keys<Enter>";
};
2023-05-18 15:10:28 +02:00
messages = {
q = ":quit<Enter>";
j = ":next<Enter>";
k = ":prev<Enter>";
"<Up>" = ":prev<Enter>";
"<Down>" = ":next<Enter>";
"<C-d>" = ":next 50%<Enter>";
"<C-u>" = ":prev 50%<Enter>";
"<C-f>" = ":next 100%<Enter>";
"<C-b>" = ":prev 100%<Enter>";
"<PgDn>" = ":next 100%<Enter>";
"<PgUp>" = ":prev 100%<Enter>";
g = ":select 0<Enter>";
G = ":select -1<Enter>";
2023-05-18 15:10:28 +02:00
H = ":collapse-folder<Enter>";
J = ":next-folder<Enter>";
K = ":prev-folder<Enter>";
L = ":expand-folder<Enter>";
2023-05-18 15:10:28 +02:00
v = ":mark -t<Enter>";
V = ":mark -v<Enter>";
2023-05-18 15:10:28 +02:00
T = ":toggle-threads<Enter>";
2023-05-18 15:10:28 +02:00
"<Enter>" = ":view<Enter>";
d = ":prompt 'Really delete this message?' 'delete-message'<Enter>";
D = ":delete<Enter>";
A = ":archive flat<Enter>";
2023-05-18 15:10:28 +02:00
C = ":compose<Enter>";
2023-05-18 15:10:28 +02:00
rr = ":reply -a<Enter>";
rq = ":reply -aq<Enter>";
Rr = ":reply<Enter>";
Rq = ":reply -q<Enter>";
2023-05-18 15:10:28 +02:00
c = ":cf<space>";
"$" = ":term<space>";
"!" = ":term<space>";
"|" = ":pipe<space>";
2023-05-18 15:10:28 +02:00
"/" = ":search<space>";
"\\" = ":filter<space>";
n = ":next-result<Enter>";
N = ":prev-result<Enter>";
"<Esc>" = ":clear<Enter>";
};
2023-05-18 15:10:28 +02:00
"messages:folder=Drafts" = {
"<Enter>" = ":recall<Enter>";
};
view = {
"/" = ":toggle-key-passthrough<Enter>/";
q = ":close<Enter>";
O = ":open<Enter>";
S = ":save<space>";
"|" = ":pipe<space>";
D = ":delete<Enter>";
A = ":archive flat<Enter>";
"<C-l>" = ":open-link <space>";
f = ":forward<Enter>";
rr = ":reply -a<Enter>";
rq = ":reply -aq<Enter>";
Rr = ":reply<Enter>";
Rq = ":reply -q<Enter>";
2023-05-18 15:10:28 +02:00
H = ":toggle-headers<Enter>";
"<C-k>" = ":prev-part<Enter>";
"<C-j>" = ":next-part<Enter>";
K = ":prev<Enter>";
J = ":next<Enter>";
};
"view::passthrough" = {
"$noinherit" = "true";
"$ex" = "<C-x>";
"<Esc>" = ":toggle-key-passthrough<Enter>";
};
# Keybindings used when the embedded terminal is not selected in the compose view
"compose" = {
"$noinherit" = "true";
"$ex" = "<C-x>";
"<C-k>" = ":prev-field<Enter>";
"<C-j>" = ":next-field<Enter>";
"<A-p>" = ":switch-account -p<Enter>";
"<A-n>" = ":switch-account -n<Enter>";
"<tab>" = ":next-field<Enter>";
"<backtab>" = ":prev-field<Enter>";
"<C-p>" = ":prev-tab<Enter>";
"<C-n>" = ":next-tab<Enter>";
};
# Keybindings used when the embedded terminal is selected in the compose view
"compose::editor" = {
"$noinherit" = "true";
"$ex" = "<C-x>";
"<C-k>" = ":prev-field<Enter>";
"<C-j>" = ":next-field<Enter>";
"<C-p>" = ":prev-tab<Enter>";
"<C-n>" = ":next-tab<Enter>";
};
# Keybindings used when reviewing a message to be sent
"compose::review" = {
y = ":send<Enter>";
n = ":abort<Enter>";
v = ":preview<Enter>";
p = ":postpone<Enter>";
q = ":choose -o d discard abort -o p postpone postpone<Enter>";
e = ":edit<Enter>";
a = ":attach<space>";
d = ":detach<space>";
};
"terminal" = {
"$noinherit" = "true";
"$ex" = "<C-x>";
"<C-p>" = ":prev-tab<Enter>";
"<C-n>" = ":next-tab<Enter>";
};
};
};
};
}