aboutsummaryrefslogtreecommitdiffstats
path: root/modules/communication/neomutt/account/flavors/gmail.nix
blob: 24035b2068247f30980d632585f612113351d7ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Gmail - Gmail-specific defaults for folder names, mbsync patterns, and mailboxes
{
  config,
  lib,
  name,
  ...
}:

{
  config = lib.mkIf (config.flavor == "gmail.com") {
    folders = {
      inbox = lib.mkDefault "Inbox";
      drafts = lib.mkDefault "[Gmail]/Drafts";
      sent = lib.mkDefault "[Gmail]/Sent Mail";
      trash = lib.mkDefault "[Gmail]/Trash";
    };

    mbsync = {
      create = lib.mkDefault "maildir";
      patterns = lib.mkDefault [
        "INBOX"
        "[Gmail]/Drafts"
        "[Gmail]/Sent Mail"
        "[Gmail]/Spam"
        "[Gmail]/Trash"
      ];
      extraConfig.channel = {
        Sync = lib.mkDefault "All";
        CopyArrivalDate = lib.mkDefault "yes";
        Expunge = lib.mkDefault "Both";
        SyncState = lib.mkDefault "*";
      };
    };

    neomutt.extraConfig = lib.mkDefault ''
      mailboxes =Inbox ="[Gmail]/Drafts" ="[Gmail]/Sent Mail" ="[Gmail]/Spam" ="[Gmail]/Trash"
    '';

    notmuch.neomutt.virtualMailboxes = lib.mkDefault [
      {
        name = "All Mail";
        query = "folder:${name}/Inbox or folder:\"${name}/[Gmail]/Sent Mail\"";
      }
    ];
  };
}