summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers/firefox/common.nix
diff options
context:
space:
mode:
authorMartin Weinelt <hexa@darmstadt.ccc.de>2022-05-22 01:49:20 +0200
committerMartin Weinelt <hexa@darmstadt.ccc.de>2022-05-22 14:49:17 +0200
commit2d97db78736a4b60f4c6ab39350fa07fedc8ab3c (patch)
treea8dc66e5526712b0dfc2f0531de009dfd46d7ac3 /pkgs/applications/networking/browsers/firefox/common.nix
parent0750e47a4d3a7c6a09d1c67348477148847eb87b (diff)
downloadnixpkgs-2d97db78736a4b60f4c6ab39350fa07fedc8ab3c.tar
nixpkgs-2d97db78736a4b60f4c6ab39350fa07fedc8ab3c.tar.gz
nixpkgs-2d97db78736a4b60f4c6ab39350fa07fedc8ab3c.tar.bz2
nixpkgs-2d97db78736a4b60f4c6ab39350fa07fedc8ab3c.tar.lz
nixpkgs-2d97db78736a4b60f4c6ab39350fa07fedc8ab3c.tar.xz
nixpkgs-2d97db78736a4b60f4c6ab39350fa07fedc8ab3c.tar.zst
nixpkgs-2d97db78736a4b60f4c6ab39350fa07fedc8ab3c.zip
buildMozillaMach: set geo.provider.network.url for new profiles.
Use Mozilla Location Service as geolocation provider for new profiles,
since our Google API key does not seem to work for geolocation at this
time.

Related: https://github.com/NixOS/nixpkgs/issues/173758
Diffstat (limited to 'pkgs/applications/networking/browsers/firefox/common.nix')
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix13
1 files changed, 13 insertions, 0 deletions
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index bb07a21d170..c246ccec113 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -180,6 +180,18 @@ let
     };
   });
 
+  defaultPrefs = {
+    "geo.provider.network.url" = {
+      value = "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%";
+      reason = "Use MLS by default for geolocation, since our Google API Keys are not working";
+    };
+  };
+
+  defaultPrefsFile = pkgs.writeText "nixos-default-prefs.js" (lib.concatStringsSep "\n" (lib.mapAttrsToList (key: value: ''
+    // ${value.reason}
+    pref("${key}", ${builtins.toJSON value.value});
+  '') defaultPrefs));
+
 in
 
 buildStdenv.mkDerivation ({
@@ -458,6 +470,7 @@ buildStdenv.mkDerivation ({
   postInstall = ''
     # Install distribution customizations
     install -Dvm644 ${distributionIni} $out/lib/${binaryName}/distribution/distribution.ini
+    install -Dvm644 ${defaultPrefsFile} $out/lib/${binaryName}/browser/defaults/preferences/nixos-default-prefs.js
 
   '' + lib.optionalString buildStdenv.isLinux ''
     # Remove SDK cruft. FIXME: move to a separate output?