From 6fbbfb92409bf999fd80b78c7f7bc145d2d36f39 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Wed, 29 Jan 2025 17:11:30 -0600 Subject: [PATCH] Revert "thunderbird: add native host support (#6292)" (#6371) --- modules/programs/thunderbird.nix | 49 +------------------ .../programs/thunderbird/thunderbird.nix | 22 +-------- 2 files changed, 3 insertions(+), 68 deletions(-) diff --git a/modules/programs/thunderbird.nix b/modules/programs/thunderbird.nix index 339bcb599..84710207c 100644 --- a/modules/programs/thunderbird.nix +++ b/modules/programs/thunderbird.nix @@ -136,24 +136,6 @@ let '') prefs)} ${extraPrefs} ''; - - nativeMessagingHostsPath = if isDarwin then - "${cfg.vendorPath}/NativeMessagingHosts" - else - "${cfg.vendorPath}/native-messaging-hosts"; - - nativeMessagingHostsJoined = pkgs.symlinkJoin { - name = "th_native-messaging-hosts"; - paths = [ - # Link a .keep file to keep the directory around - (pkgs.writeTextDir "lib/mozilla/native-messaging-hosts/.keep" "") - # Link package configured native messaging hosts (entire mail app actually) - cfg.package - ] - # Link user configured native messaging hosts - ++ cfg.nativeMessagingHosts; - }; - in { meta.maintainers = with hm.maintainers; [ d-dervishi jkarlson ]; @@ -176,29 +158,6 @@ in { description = "profile version, set null for nix-darwin"; }; - vendorPath = mkOption { - internal = true; - type = with types; nullOr str; - # Thunderbird doesn't look in `Application Support` on macOS for user - # config (in contrast to global settings that are the same for Firefox - # and Thunderbird): - # https://developer.thunderbird.net/add-ons/mailextensions/supported-webextension-api - default = if isDarwin then "Library/Mozilla" else ".mozilla"; - example = ".mozilla"; - description = - "Directory containing the native messaging hosts directory."; - }; - - nativeMessagingHosts = optionalAttrs (cfg.vendorPath != null) (mkOption { - visible = true; - type = types.listOf types.package; - default = [ ]; - description = '' - Additional packages containing native messaging hosts that should be - made available to Thunderbird extensions. - ''; - }); - profiles = mkOption { type = with types; attrsOf (submodule ({ config, name, ... }: { @@ -444,13 +403,7 @@ in { home.file = mkMerge ([{ "${thunderbirdConfigPath}/profiles.ini" = mkIf (cfg.profiles != { }) { text = generators.toINI { } profilesIni; }; - }] ++ optional (cfg.vendorPath != null) { - "${nativeMessagingHostsPath}" = { - source = - "${nativeMessagingHostsJoined}/lib/mozilla/native-messaging-hosts"; - recursive = true; - }; - } ++ flip mapAttrsToList cfg.profiles (name: profile: { + }] ++ flip mapAttrsToList cfg.profiles (name: profile: { "${thunderbirdProfilesPath}/${name}/chrome/userChrome.css" = mkIf (profile.userChrome != "") { text = profile.userChrome; }; diff --git a/tests/modules/programs/thunderbird/thunderbird.nix b/tests/modules/programs/thunderbird/thunderbird.nix index 952e48de9..366f8b045 100644 --- a/tests/modules/programs/thunderbird/thunderbird.nix +++ b/tests/modules/programs/thunderbird/thunderbird.nix @@ -41,9 +41,6 @@ # Disable warning so that platforms' behavior is the same darwinSetupWarning = false; - # Darwin doesn't support wrapped Thunderbird, using unwrapped instead - package = pkgs.thunderbird-unwrapped; - profiles = { first = { isDefault = true; @@ -65,31 +62,18 @@ }; }; - nativeMessagingHosts = with pkgs; - [ - # NOTE: this is not a real Thunderbird native host module but Firefox; no - # native hosts are currently packaged for nixpkgs or elsewhere, so we - # have to improvise. Packaging wise, Firefox and Thunderbird native hosts - # are identical though. Good news is that the test will still pass as - # long as we don't attempt to run the mail client itself with the host. - # (Which we don't.) - browserpass - ]; - settings = { "general.useragent.override" = ""; "privacy.donottrackheader.enabled" = true; }; }; + test.stubs.thunderbird = { }; + nmt.script = let isDarwin = pkgs.stdenv.hostPlatform.isDarwin; configDir = if isDarwin then "Library/Thunderbird" else ".thunderbird"; profilesDir = if isDarwin then "${configDir}/Profiles" else "${configDir}"; - nativeHostsDir = if isDarwin then - "Library/Mozilla/NativeMessagingHosts" - else - ".mozilla/native-messaging-hosts"; platform = if isDarwin then "darwin" else "linux"; in '' assertFileExists home-files/${configDir}/profiles.ini @@ -111,7 +95,5 @@ assertFileExists home-files/${profilesDir}/first/chrome/userContent.css assertFileContent home-files/${profilesDir}/first/chrome/userContent.css \ <(echo "* { color: red !important; }") - - assertFileExists home-files/${nativeHostsDir}/com.github.browserpass.native.json ''; }