{ callPackage }: let src = callPackage ./src.nix { }; in rec { inherit (src) packageVersion firefox source; extraPatches = [ "${source}/patches/pref-pane/pref-pane-small.patch" ]; extraConfigureFlags = [ "--with-unsigned-addon-scopes=app,system" "--disable-default-browser-agent" ]; extraPostPatch = '' while read patch_name; do echo "applying LibreWolf patch: $patch_name" patch -p1 < ${source}/$patch_name done <${source}/assets/patches.txt cp -r ${source}/themes/browser . cp ${source}/assets/search-config.json services/settings/dumps/main/search-config.json sed -i '/MOZ_SERVICES_HEALTHREPORT/ s/True/False/' browser/moz.configure cp ${source}/patches/pref-pane/category-librewolf.svg browser/themes/shared/preferences cp ${source}/patches/pref-pane/librewolf.css browser/themes/shared/preferences cp ${source}/patches/pref-pane/librewolf.inc.xhtml browser/components/preferences cp ${source}/patches/pref-pane/librewolf.js browser/components/preferences # override firefox version for fn in browser/config/version.txt browser/config/version_display.txt; do echo "${packageVersion}" > "$fn" done echo "patching appstrings.properties" find . -path '*/appstrings.properties' -exec sed -i s/Firefox/LibreWolf/ {} \; for fn in $(find "${source}/l10n/en-US/browser" -type f -name '*.inc.ftl'); do target_fn=$(echo "$fn" | sed "s,${source}/l10n,browser/locales," | sed "s,\.inc\.ftl$,.ftl,") cat "$fn" >> "$target_fn" done ''; extraPrefsFiles = [ "${source}/settings/librewolf.cfg" ]; extraPoliciesFiles = [ "${source}/settings/distribution/policies.json" ]; extraPassthru = { librewolf = { inherit src extraPatches; }; inherit extraPrefsFiles extraPoliciesFiles; }; }