{ config, pkgs, ... }: let exec = cmd: ":${cmd}"; fill = cmd: ":${cmd}"; in { accounts.email.maildirBasePath = "${config.xdg.dataHome}/mail"; # See: https://git.sbruder.de/simon/nixos-config/src/branch/master/users/simon/modules/mail/aerc/default.nix programs.aerc = { enable = true; # See: https://man.archlinux.org/man/aerc-config.5.en extraConfig = { general = { unsafe-accounts-conf = true; }; ui = { index-format = "%-17.17D %-20.20n %Z %-20.20g %s"; # See https://godoc.org/time#Time.Format timestamp-format = "2006-01-02 15:04 MST"; this-day-time-format = "15:04"; this-week-time-format = "Monday 15:04"; this-year-time-format = "02 January"; pinned-tab-marker = "車"; border-char-vertical = "│"; border-char-horizontal = "─"; fuzzy-complete = true; new-message-bell = false; }; statusline = { display-mode = "icon"; }; filters = { "text/plain" = "${./colorize}"; "text/html" = "html"; }; }; extraBinds = { messages = { "q" = exec "quit"; "gt" = exec "next-tab"; "gT" = exec "prev-tab"; "j" = exec "next"; "" = exec "next"; "" = exec "next 50%"; "k" = exec "prev"; "" = exec "prev"; "" = exec "prev 50%"; "gg" = exec "select 0"; "G" = exec "select -1"; "J" = exec "next-folder"; "K" = exec "prev-folder"; "c" = fill "cf"; "" = exec "view"; "C" = exec "compose"; "/" = fill "search"; "\\" = fill "filter"; "n" = exec "next-result"; "N" = exec "prev-result"; "U" = exec "unsubscribe"; "D" = exec "delete"; "A" = exec "archive flat"; #"D" = exec "modify-labels +deleted -inbox"; #"A" = exec "modify-labels -inbox"; #"ms" = exec "modify-labels +spam -inbox"; #"mS" = exec "modify-labels -spam +inbox"; }; view = { "q" = exec "close"; "O" = exec "open"; "S" = fill "save"; "f" = exec "forward"; "rr" = exec "reply -a"; "rq" = exec "reply -aq"; "Rr" = exec "reply"; "Rq" = exec "reply -q"; "" = exec "prev-part"; "" = exec "next-part"; "J" = exec "next"; "K" = exec "prev"; "U" = exec "unsubscribe"; "D" = exec "delete"; "A" = exec "archive flat"; # "ms" = exec "modify-labels +spam -inbox"; # "mS" = exec "modify-labels -spam +inbox"; }; compose = { "$ex" = ""; "" = exec "prev-field"; "" = exec "next-field"; "" = exec "next-field"; }; "compose::editor" = { "$noinherit" = "true"; "$ex" = ""; "" = exec "prev-field"; "" = exec "next-field"; }; "compose::review" = { "y" = exec "send"; "n" = exec "abort"; "p" = exec "postpone"; "q" = exec "choose -o d discard abort -o p postpone postpone"; "e" = exec "edit"; "a" = fill "attach"; "d" = fill "detach"; }; }; stylesets.default = { "*.selected.reverse" = true; "title.reverse" = true; "header.bold" = true; "*error.bold" = true; "error.fg" = 1; "warning.fg" = 3; "success.fg" = 2; "msglist_unread.bold" = true; "msglist_deleted.fg" = 10; "tab.fg" = 0; "tab.selected.reverse" = false; "tab.selected.bold" = true; "tab.selected.bg" = 2; "dirlist_default.bg" = 18; "border.fg" = 0; "statusline_default.bg" = 18; "statusline_error.fg" = 1; "statusline_error.reverse" = true; "statusline_success.fg" = 2; "statusline_success.reverse" = true; "completion_default.bg" = 0; }; }; }