fix(mako): syntax error in generated config file
This commit is contained in:
parent
a7447fbafe
commit
0cd88af42b
8 changed files with 313 additions and 21 deletions
153
modules/home-manager/accounts/email/default.nix
Normal file
153
modules/home-manager/accounts/email/default.nix
Normal file
|
@ -0,0 +1,153 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.email;
|
||||
in
|
||||
{
|
||||
options.modules.email = {
|
||||
enable = mkEnableOption "Enable email accounts configuration";
|
||||
|
||||
accountConfigs = mkOption {
|
||||
type = types.attrsOf types.attrs;
|
||||
default = false;
|
||||
description = "List of account variables used to create accounts";
|
||||
};
|
||||
|
||||
primary = mkOption {
|
||||
type = types.str;
|
||||
default = false;
|
||||
description = "name of primary account";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
accounts.email = let
|
||||
defaultSetting = {
|
||||
mbsync = {
|
||||
enable = true;
|
||||
create = "maildir";
|
||||
expunge = "both";
|
||||
};
|
||||
aerc = {
|
||||
enable = true;
|
||||
extraAccounts ={
|
||||
source = "notmuch://~/mail";
|
||||
maildir-store = "~/mail";
|
||||
default = "Inbox";
|
||||
postpone = "Drafts";
|
||||
copy-to = "Sent";
|
||||
use-envelope-from = true;
|
||||
};
|
||||
};
|
||||
notmuch = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
accountsList = lib.mapAttrs ( name: value: lib.recursiveUpdate defaultSetting value.config ) cfg.accountConfigs;
|
||||
in {
|
||||
maildirBasePath = "mail";
|
||||
accounts = lib.recursiveUpdate accountsList { "${cfg.primary}".primary = true; };
|
||||
};
|
||||
|
||||
# programs.notmuch = {
|
||||
# enable = true;
|
||||
# new.tags = [ "new" ];
|
||||
# hooks.postNew = ''
|
||||
# ${pkgs.afew}/bin/afew -t -n
|
||||
# ${pkgs.afew}/bin/afew -w -n
|
||||
# '';
|
||||
# };
|
||||
|
||||
programs.afew = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
[FolderNameFilter]
|
||||
folder_explicit_list = archives
|
||||
folder_transforms = archives:archive
|
||||
maildir_separator = /
|
||||
[MailMover]
|
||||
[SpamFilter]
|
||||
[KillThreadsFilter]
|
||||
[ArchiveSentMailsFilter]
|
||||
sent_tag = sent
|
||||
[InboxFilter]
|
||||
'';
|
||||
};
|
||||
programs.aerc = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
general = {
|
||||
unsafe-accounts-conf = true;
|
||||
};
|
||||
ui = {
|
||||
column-subject = ''
|
||||
{{if .ThreadPrefix}}{{.Style (printf "%s " .ThreadPrefix) "thread"}}{{- end }}{{.Subject}}
|
||||
'';
|
||||
column-flags = ''
|
||||
{{.Flags | join " "}}
|
||||
'';
|
||||
index-columns = ''
|
||||
flags:5,name<20%,subject,date>=
|
||||
'';
|
||||
thread-prefix-tip = "╼ ";
|
||||
thread-prefix-indent = "";
|
||||
thread-prefix-stem = "│";
|
||||
thread-prefix-limb = "─";
|
||||
thread-prefix-folded = "+";
|
||||
thread-prefix-unfolded = "";
|
||||
thread-prefix-first-child = "┬";
|
||||
thread-prefix-has-siblings = "├";
|
||||
thread-prefix-orphan = "┬╼ ";
|
||||
thread-prefix-dummy = "┬";
|
||||
thread-prefix-lone = " ";
|
||||
thread-prefix-last-sibling = "╰";
|
||||
completion-popovers = true;
|
||||
icon-attachment = "";
|
||||
icon-replied = "";
|
||||
icon-forwarded = "";
|
||||
icon-new = "";
|
||||
icon-old = "";
|
||||
icon-unencrypted = "";
|
||||
icon-encrypted = "";
|
||||
icon-signed = "";
|
||||
icon-signed-encrypted = "";
|
||||
icon-invalid = "";
|
||||
icon-unknown = "";
|
||||
threading-enabled = true;
|
||||
};
|
||||
statusline = {
|
||||
status-columns=''
|
||||
left<*,right>*
|
||||
'';
|
||||
column-left = ''
|
||||
{{.Style (printf " %s " (toUpper .Account)) "statusline_account" }}\
|
||||
{{.Style (printf " %s | %s " .Folder (humanReadable .Size)) "statusline_folder"}}\
|
||||
{{ if .ContentInfo }}{{.Style (printf " %s " .ContentInfo) "statusline_contentinfo"}}{{- end }}
|
||||
'';
|
||||
column-center = ''
|
||||
{{.Style .PendingKeys "statusline_center"}}
|
||||
'';
|
||||
};
|
||||
filters = {
|
||||
"text/plain" = " wrap -w 100 | colorize";
|
||||
"text/html" = "! html";
|
||||
"text/calendar" = "calendar";
|
||||
"message/delivery-status" = "colorize";
|
||||
"message/rfc822" = "colorize";
|
||||
".headers" = "colorize";
|
||||
};
|
||||
};
|
||||
stylesets = {
|
||||
default = (builtins.readFile ./files/default.theme);
|
||||
};
|
||||
};
|
||||
programs.mbsync = {
|
||||
enable = true;
|
||||
};
|
||||
services.mbsync = {
|
||||
enable = true;
|
||||
postExec = "${pkgs.notmuch}/bin/notmuch new";
|
||||
package = config.programs.mbsync.package;
|
||||
};
|
||||
};
|
||||
}
|
91
modules/home-manager/accounts/email/files/default.theme
Normal file
91
modules/home-manager/accounts/email/files/default.theme
Normal file
|
@ -0,0 +1,91 @@
|
|||
*.default=true
|
||||
*.normal=true
|
||||
border.fg=16
|
||||
|
||||
title.fg=5
|
||||
title.bg=0
|
||||
|
||||
|
||||
msglist_*.selected.bold=true
|
||||
msglist_default.selected.bg=19
|
||||
msglist_default.selected.fg=7
|
||||
|
||||
msglist_flagged.italic=true
|
||||
|
||||
msglist_marked.fg=0
|
||||
msglist_marked.bg=4
|
||||
msglist_marked.selected.fg=4
|
||||
msglist_marked.selected.bg=
|
||||
msglist_marked.italic=true
|
||||
|
||||
msglist_result.fg=0
|
||||
msglist_result.bg=3
|
||||
msglist_result.italic=true
|
||||
msglist_result.selected.fg=3
|
||||
msglist_result.selected.bg=
|
||||
|
||||
msglist_pill.bg=8
|
||||
|
||||
dirlist_*.selected.bold=true
|
||||
dirlist_*.selected.bg=19
|
||||
|
||||
part_switcher.fg=7
|
||||
part_switcher.bg=19
|
||||
part_switcher.selected.bg=18
|
||||
|
||||
part_filename.bg=18
|
||||
part_filename.selected.bg=8
|
||||
|
||||
part_mimetype.bg=18
|
||||
part_mimetype.selected.bg=18
|
||||
part_mimetype.selected.dim=true
|
||||
|
||||
statusline_error.fg=0
|
||||
statusline_error.bg=1
|
||||
statusline_error.bold=true
|
||||
|
||||
statusline_success.fg=0
|
||||
statusline_success.bg=2
|
||||
statusline_success.bold=true
|
||||
|
||||
completion_default.bg=18
|
||||
completion_default.fg=20
|
||||
|
||||
completion_description.bg=18
|
||||
completion_description.fg=20
|
||||
|
||||
completion_default.selected.fg=7
|
||||
completion_default.selected.bg=8
|
||||
|
||||
completion_description.selected.fg=7
|
||||
completion_description.selected.bg=8
|
||||
|
||||
selector_*.bg=18
|
||||
|
||||
tab.fg=15
|
||||
tab.bg=19
|
||||
tab.selected.fg=15
|
||||
tab.selected.bg=0
|
||||
|
||||
[viewer]
|
||||
url.fg=4
|
||||
url.underline=true
|
||||
header.fg=1
|
||||
header.bold=true
|
||||
signature.dim=true
|
||||
diff_meta.bold=true
|
||||
diff_chunk.fg=#89b4fa
|
||||
diff_chunk_func.fg=#89b4fa
|
||||
diff_chunk_func.bold=true
|
||||
diff_add.fg=#a6e3a1
|
||||
diff_del.fg=#f38ba8
|
||||
quote_*.fg=8
|
||||
quote_1.fg=17
|
||||
|
||||
[user]
|
||||
thread.fg=1
|
||||
statusline_account.bg=4
|
||||
statusline_account.fg=0
|
||||
statusline_account.bold=true
|
||||
statusline_folder.bg=18
|
||||
statusline_contentinfo.bg=19
|
2
modules/home-manager/accounts/email/files/ubordeaux.map
Normal file
2
modules/home-manager/accounts/email/files/ubordeaux.map
Normal file
|
@ -0,0 +1,2 @@
|
|||
_Inbox=folder:ubordeaux/Inbox
|
||||
_Sent=folder:ubordeaux/Sent
|
Loading…
Add table
Add a link
Reference in a new issue