diff options
author | Martin Weinelt <mweinelt@users.noreply.github.com> | 2022-05-24 20:08:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-24 20:08:46 +0200 |
commit | c5e0d57cdd8792b3cbbec0aa265803131f2e8721 (patch) | |
tree | cd077b76abd96b6b8aec4a49a0525d6286e9f8d6 /pkgs/applications/networking/browsers/firefox/common.nix | |
parent | 737bbfdb5a655e5550cf4c107da362c50be7251e (diff) | |
parent | 2d97db78736a4b60f4c6ab39350fa07fedc8ab3c (diff) |
Merge pull request #173738 from mweinelt/firefox-mls
Diffstat (limited to 'pkgs/applications/networking/browsers/firefox/common.nix')
-rw-r--r-- | pkgs/applications/networking/browsers/firefox/common.nix | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 217b4e323886e..06bfddd1d8d92 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -103,6 +103,7 @@ , crashreporterSupport ? !privacySupport , geolocationSupport ? !privacySupport , googleAPISupport ? geolocationSupport +, mlsAPISupport ? geolocationSupport , webrtcSupport ? !privacySupport # digital rights managemewnt @@ -185,6 +186,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 ({ @@ -304,11 +317,17 @@ buildStdenv.mkDerivation ({ '' + lib.optionalString googleAPISupport '' # Google API key used by Chromium and Firefox. # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution, - # please get your own set of keys. - echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" > $TMPDIR/ga + # please get your own set of keys at https://www.chromium.org/developers/how-tos/api-keys/. + echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" > $TMPDIR/google-api-key # 60.5+ & 66+ did split the google API key arguments: https://bugzilla.mozilla.org/show_bug.cgi?id=1531176 - configureFlagsArray+=("--with-google-location-service-api-keyfile=$TMPDIR/ga") - configureFlagsArray+=("--with-google-safebrowsing-api-keyfile=$TMPDIR/ga") + configureFlagsArray+=("--with-google-location-service-api-keyfile=$TMPDIR/google-api-key") + configureFlagsArray+=("--with-google-safebrowsing-api-keyfile=$TMPDIR/google-api-key") + '' + lib.optionalString mlsAPISupport '' + # Mozilla Location services API key + # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution, + # please get your own set of keys at https://location.services.mozilla.com/api. + echo "dfd7836c-d458-4917-98bb-421c82d3c8a0" > $TMPDIR/mls-api-key + configureFlagsArray+=("--with-mozilla-api-keyfile=$TMPDIR/mls-api-key") '' + lib.optionalString enableOfficialBranding '' export MOZILLA_OFFICIAL=1 ''; @@ -467,6 +486,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? |