{ config, pkgs, ... }:

# unreserve ctrl+w shortcuts

{
  nixpkgs.config.packageOverrides = pkgs: with pkgs; {
    firefox-unwrapped = stdenv.mkDerivation {
      inherit (firefox-unwrapped) name version;

      nativeBuildInputs = [ unzip zip ];

      buildCommand = ''
        mkdir -p $out
        cp -ra ${firefox-unwrapped}/. $out/.
        chmod +w -R $out
        sed -i "s|${firefox-unwrapped}|$out|g" $out/bin/firefox

        j=$out/lib/firefox/browser/omni.ja
        f=localization/en-US/browser/browserSets.ftl
        mkdir browser
        cd browser
        unzip $j
        patch $f <${./fix-firefox.patch}
        rm $j
        zip -0DXqr $j *
      '';

      inherit (firefox-unwrapped) meta;
      passthru = {
        inherit (firefox-unwrapped.passthru) version isFirefox3Like gtk
          nspr gssSupport browserName ffmpegSupport gtk3;
      };
    };
  };
}