summaryrefslogtreecommitdiff
path: root/modules/home-manager/personal/programs/thunderbird.nix
blob: c904dd5663147549ace6e4e93f8031b0003bc3f6 (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
47
48
49
50
51
52
53
54
55
56
57
58
{
  config,
  lib,
  pkgs,
  ...
}: let
  configDefault =
    builtins.readFile "${pkgs.personal.static.userjs.thunderbird}"
    + pkgs.lib.personal.toUserJS {
      # 0391
      "mail.bii.alert.show_preview" = false;
      # 0610
      "browser.send_pings" = false;
      # 905
      # fixes calendar auth
      "network.auth.subresource-http-auth-allow" = 2;
      # 5004
      "permissions.memory_only" = false;
      # 5016
      "browser.download.folderList" = 1;
      # 9000
      "app.update.auto" = false;
      # 9131
      "extensions.cardbook.useOnlyEmail" = false;
      # 9312
      "calendar.timezone.local" = "Europe/Paris";
      # Personal
      ## Default sorting
      "mailnews.default_sort_order" = 2; # Descending
      "mailnews.default_sort_type" = 22; # By thread
      ## Calendar
      "calendar.week.start" = 1;
      "calendar.view.visiblehours" = 16;
      "calendar.dayendhour" = 24;
      ## Duplicates
      "mail.server.default.dup_action" = 1; # delete
      ## Spam
      "mail.spam.manualMark" = true; # move manually marked-as-junk to junk folder
    };
in {
  config = lib.mkMerge [
    {
      programs.thunderbird = {
        profiles.default = {
          isDefault = true;
          withExternalGnupg = true;
        };
      };
    }
    (lib.mkIf config.programs.thunderbird.enable {
      home.file.".thunderbird/default/user.js".text = configDefault;
      xdg.mimeApps.defaultApplications = {
        "x-scheme-handler/mailto" = ["thunderbird.desktop"];
        "application/x-xpinstall" = ["thunderbird.desktop"];
      };
    })
  ];
}