diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index d945a0a3d063..3befbc5047e1 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -6,6 +6,7 @@ lndir, config, buildPackages, + gsettings-desktop-schemas, jq, xdg-utils, writeText, @@ -134,6 +135,12 @@ let ++ pkcs11Modules ++ lib.optionals (!isDarwin) gtk_modules; gtk_modules = lib.optionals (!isDarwin) [ libcanberra-gtk3 ]; + # strictDeps prevents buildInputs from populating GSETTINGS_SCHEMAS_PATH. + # Revert when https://github.com/NixOS/nixpkgs/pull/546281 hits stable. + gsettingsSchemaPaths = lib.optionals (!isDarwin) [ + "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" + "${browser.gtk3}/share/gsettings-schemas/${browser.gtk3.name}" + ]; # Darwin does not rename bundled binaries launcherName = "${applicationName}${lib.optionalString (!isDarwin) nameSuffix}"; @@ -339,6 +346,11 @@ let ":" "${adwaita-icon-theme}/share" + "--prefix" + "XDG_DATA_DIRS" + ":" + (lib.concatStringsSep ":" gsettingsSchemaPaths) + "--set-default" "MOZ_ENABLE_WAYLAND" "1" @@ -486,9 +498,6 @@ let mv "$executablePath" "$oldExe" fi '' - + lib.optionalString (!isDarwin) '' - appendToVar makeWrapperArgs --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" - '' + '' concatTo makeWrapperArgs oldWrapperArgs