about summary refs log tree commit diff
path: root/modules/thunderbird.nix
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2024-04-21 02:15:42 +0300
committerAzat Bahawi <azat@bahawi.net>2024-04-21 02:15:42 +0300
commite6ed60548397627bf10f561f9438201dbba0a36e (patch)
treef9a84c5957d2cc4fcd148065ee9365a0c851ae1c /modules/thunderbird.nix
parent2024-04-18 (diff)
2024-04-21
Diffstat (limited to 'modules/thunderbird.nix')
-rw-r--r--modules/thunderbird.nix102
1 files changed, 102 insertions, 0 deletions
diff --git a/modules/thunderbird.nix b/modules/thunderbird.nix
new file mode 100644
index 0000000..74af3b5
--- /dev/null
+++ b/modules/thunderbird.nix
@@ -0,0 +1,102 @@
+{ config, lib, ... }:
+with lib;
+let
+  cfg = config.nixfiles.modules.thunderbird;
+in
+{
+  options.nixfiles.modules.thunderbird.enable = mkEnableOption "Thunderbird";
+
+  config = mkIf cfg.enable {
+    nixfiles.modules.common.xdg.defaultApplications.thunderbird = [
+      "message/rfc822"
+      "x-scheme-handler/mailto"
+    ];
+
+    hm.programs.thunderbird = {
+      enable = true;
+      profiles.default = {
+        isDefault = true;
+        withExternalGnupg = true;
+        # https://github.com/HorlogeSkynet/thunderbird-user.js/blob/master/user.js
+        settings =
+          with config.colors.withHashtag;
+          config.hm.programs.firefox.profiles.default.settings
+          // {
+            "app.donation.eoy.version.viewed" = 999;
+            "browser.display.background_color" = base00;
+            "browser.display.background_color.dark" = base00;
+            "browser.display.document_color_use" = 1; # Corresponds to "Never".
+            "browser.display.foreground_color" = base05;
+            "browser.display.foreground_color.dark" = base05;
+            "browser.display.use_system_colors" = true;
+            "browser.visited_color" = base0E;
+            "browser.visited_color.dark" = base0E;
+            "editor.background_color" = base00;
+            "editor.editor.active_link_color" = base16;
+            "editor.followed_link_color" = base0E;
+            "editor.link_color" = base0D;
+            "editor.text_color" = base05;
+            "editor.use_custom_colors" = true;
+            "extensions.activeThemeID" = "default-theme@mozilla.org";
+            "javascript.enabled" = false;
+            "mail.chat.enabled" = false;
+            "mail.cloud_files.enabled" = false;
+            "mail.collect_email_address_outgoing" = false;
+            "mail.compose.add_link_preview" = false;
+            "mail.compose.big_attachments.notify" = true;
+            "mail.compose.big_attachments.threshold_kb" = 10000;
+            "mail.compose.warn_public_recipients.aggressive" = true;
+            "mail.compose.warn_public_recipients.threshold" = 15;
+            "mail.default_send_format" = 1;
+            "mail.html_compose" = false;
+            "mail.html_sanitize.drop_conditional_css" = true;
+            "mail.identity.default.compose_html" = false;
+            "mail.inline_attachments" = false;
+            "mail.instrumentation.askUser" = false;
+            "mail.instrumentation.postUrl" = "";
+            "mail.instrumentation.userOptedIn" = false;
+            "mail.phishing.detection.disallow_form_actions" = true;
+            "mail.phishing.detection.enabled" = true;
+            "mail.phishing.detection.ipaddresses" = true;
+            "mail.phishing.detection.mismatched_hosts" = true;
+            "mail.provider.enabled" = false;
+            "mail.rights.override" = true;
+            "mail.sanitize_date_header" = true;
+            "mail.shell.checkDefaultClient" = false;
+            "mail.showCondensedAddresses" = false;
+            "mail.suppress_content_language" = true;
+            "mailnews.auto_config.addons_url" = "";
+            "mailnews.auto_config.fetchFromExchange.enabled" = false;
+            "mailnews.auto_config.fetchFromISP.enabled" = false;
+            "mailnews.auto_config.fetchFromISP.sendEmailAddress" = false;
+            "mailnews.auto_config.guess.enabled" = false;
+            "mailnews.auto_config.guess.requireGoodCert" = true;
+            "mailnews.auto_config.guess.sslOnly" = true;
+            "mailnews.auto_config_url" = "";
+            "mailnews.display.date_senders_timezone" = false;
+            "mailnews.display.disallow_mime_handlers" = 3;
+            "mailnews.display.html_as" = 3;
+            "mailnews.display.original_date" = false;
+            "mailnews.display.prefer_plaintext" = false;
+            "mailnews.headers.sendUserAgent" = true;
+            "mailnews.headers.showSender" = true;
+            "mailnews.headers.showUserAgent" = false;
+            "mailnews.headers.useMinimalUserAgent" = true;
+            "mailnews.message_display.disable_remote_image" = true;
+            "mailnews.reply_header_authorwrotesingle" = "#1 wrote:";
+            "mailnews.reply_header_type" = 1;
+            "mailnews.start_page.enabled" = false;
+            "mailnews.start_page.url" = "about:blank";
+            "media.mediasource.enabled" = false;
+            "network.cookie.cookieBehavior" = 2;
+            "network.cookie.cookieBehavior.pbmode" = 2;
+            "permissions.default.image" = 2;
+            "places.history.enabled" = false;
+            "pref.privacy.disable_button.cookie_exceptions" = false;
+            "pref.privacy.disable_button.view_cookies" = false;
+            "pref.privacy.disable_button.view_passwords" = false;
+          };
+      };
+    };
+  };
+}

Consider giving Nix/NixOS a try! <3