sponsorblock: remove the goddamn first-run popup
fuck javascript/typescript/whatever y'all started with a low-complexity ecosystem and then drove the whole thing with some apparent goal of maximizing complexity minified js? WHY? compile to native/wasm if you care about perf, else optimize for readability/patchability and leave compression to gzip like a normal fucking person
This commit is contained in:
parent
2b9de91540
commit
007c13f975
|
@ -1,6 +1,7 @@
|
||||||
{ stdenv
|
{ stdenv
|
||||||
, callPackage
|
, callPackage
|
||||||
, fetchFirefoxAddon
|
, fetchFirefoxAddon
|
||||||
|
, gnused
|
||||||
, jq
|
, jq
|
||||||
, strip-nondeterminism
|
, strip-nondeterminism
|
||||||
, unzip
|
, unzip
|
||||||
|
@ -11,8 +12,8 @@ let
|
||||||
# given an addon, repackage it without some `perm`ission
|
# given an addon, repackage it without some `perm`ission
|
||||||
removePermission = perm: addon: mkPatchedAddon addon {
|
removePermission = perm: addon: mkPatchedAddon addon {
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
NEW_MANIFEST=$(jq 'del(.permissions[] | select(. == "${perm}"))' "$out/$UUID/manifest.json")
|
NEW_MANIFEST=$(jq 'del(.permissions[] | select(. == "${perm}"))' manifest.json)
|
||||||
echo "$NEW_MANIFEST" > "$out/$UUID/manifest.json"
|
echo "$NEW_MANIFEST" > manifest.json
|
||||||
'';
|
'';
|
||||||
nativeBuildInputs = [ jq ];
|
nativeBuildInputs = [ jq ];
|
||||||
};
|
};
|
||||||
|
@ -39,19 +40,17 @@ let
|
||||||
UUID="${extid}"
|
UUID="${extid}"
|
||||||
echo "patching firefox addon $name into $out/$UUID.xpi"
|
echo "patching firefox addon $name into $out/$UUID.xpi"
|
||||||
|
|
||||||
# extract the XPI
|
# extract the XPI into the working directory
|
||||||
mkdir -p "$out/$UUID"
|
unzip -q "${addon}/$UUID.xpi" -d "."
|
||||||
unzip -q "${addon}/$UUID.xpi" -d "$out/$UUID"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
# repackage the XPI
|
# repackage the XPI
|
||||||
cd "$out/$UUID"
|
mkdir "$out"
|
||||||
zip -r -q -FS "$out/$UUID.xpi" *
|
zip -r -q -FS "$out/$UUID.xpi" ./*
|
||||||
strip-nondeterminism "$out/$UUID.xpi"
|
strip-nondeterminism "$out/$UUID.xpi"
|
||||||
rm -r "$out/$UUID"
|
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
@ -91,7 +90,17 @@ in {
|
||||||
ether-metamask = addon "ether-metamask" "webextension@metamask.io" "sha256-UI83wUUc33OlQYX+olgujeppoo2D2PAUJ+Wma5mH2O0=";
|
ether-metamask = addon "ether-metamask" "webextension@metamask.io" "sha256-UI83wUUc33OlQYX+olgujeppoo2D2PAUJ+Wma5mH2O0=";
|
||||||
i2p-in-private-browsing = addon "i2p-in-private-browsing" "i2ppb@eyedeekay.github.io" "sha256-dJcJ3jxeAeAkRvhODeIVrCflvX+S4E0wT/PyYzQBQWs=";
|
i2p-in-private-browsing = addon "i2p-in-private-browsing" "i2ppb@eyedeekay.github.io" "sha256-dJcJ3jxeAeAkRvhODeIVrCflvX+S4E0wT/PyYzQBQWs=";
|
||||||
sidebery = addon "sidebery" "{3c078156-979c-498b-8990-85f7987dd929}" "sha256-YONfK/rIjlsrTgRHIt3km07Q7KnpIW89Z9r92ZSCc6w=";
|
sidebery = addon "sidebery" "{3c078156-979c-498b-8990-85f7987dd929}" "sha256-YONfK/rIjlsrTgRHIt3km07Q7KnpIW89Z9r92ZSCc6w=";
|
||||||
sponsorblock = addon "sponsorblock" "sponsorBlocker@ajay.app" "sha256-b/OTFmhSEUZ/CYrYCE4rHVMQmY+Y78k8jSGMoR8vsZA=";
|
sponsorblock = mkPatchedAddon
|
||||||
|
(addon "sponsorblock" "sponsorBlocker@ajay.app" "sha256-b/OTFmhSEUZ/CYrYCE4rHVMQmY+Y78k8jSGMoR8vsZA=")
|
||||||
|
{
|
||||||
|
patchPhase = ''
|
||||||
|
# patch sponsorblock to not show the help tab on first launch.
|
||||||
|
# XXX: i tried to build sponsorblock from source and patch this *before* it gets webpack'd,
|
||||||
|
# but web shit is absolutely cursed and building from source requires a fucking PhD
|
||||||
|
# (if you have one, feel free to share your nix package)
|
||||||
|
${gnused}/bin/sed -i 's/default\.config\.userID)/default.config.userID && false)/' js/background.js
|
||||||
|
'';
|
||||||
|
};
|
||||||
ublacklist = addon "ublacklist" "@ublacklist" "sha256-NZ2FmgJiYnH7j2Lkn0wOembxaEphmUuUk0Ytmb0rNWo=";
|
ublacklist = addon "ublacklist" "@ublacklist" "sha256-NZ2FmgJiYnH7j2Lkn0wOembxaEphmUuUk0Ytmb0rNWo=";
|
||||||
ublock-origin = addon "ublock-origin" "uBlock0@raymondhill.net" "sha256-EGGAA+cLUow/F5luNzFG055rFfd3rEyh8hTaL/23pbM=";
|
ublock-origin = addon "ublock-origin" "uBlock0@raymondhill.net" "sha256-EGGAA+cLUow/F5luNzFG055rFfd3rEyh8hTaL/23pbM=";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user