From 2bd85fde43359451919f65533d249b3a06297a44 Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Fri, 15 May 2026 00:50:12 -0400 Subject: [PATCH] fix bypass-paywalls-clean startup --- home/progs/zen/default.nix | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/home/progs/zen/default.nix b/home/progs/zen/default.nix index 2f577e1..d1bb23c 100644 --- a/home/progs/zen/default.nix +++ b/home/progs/zen/default.nix @@ -37,7 +37,7 @@ let platforms = platforms.all; }; }; - bypass-paywalls-clean = buildFirefoxXpiAddon { + bypass-paywalls-clean-raw = buildFirefoxXpiAddon { pname = "bypass-paywalls-clean"; version = "4.3.6.5"; addonId = "magnolia@12.34"; @@ -51,6 +51,33 @@ let }; }; + # Patched: suppress auto-opening options page on install/update. + # The extension does NOT read storage.managed, so declarative settings + # have no effect — it always opens options.html via openOptionsPage(). + bypass-paywalls-clean = + pkgs.runCommand "bypass-paywalls-clean-patched" + { + nativeBuildInputs = [ + pkgs.unzip + pkgs.zip + ]; + src = bypass-paywalls-clean-raw; + } + '' + mkdir -p $out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384} + xpi="$src/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/magnolia@12.34.xpi" + + work=$(mktemp -d) + unzip -q "$xpi" -d "$work" + + # Suppress all automatic openOptionsPage() calls in background.js + sed -i 's/ext_api\.runtime\.openOptionsPage();/\/\/ openOptionsPage suppressed by nixos config/g' \ + "$work/background.js" + + cd "$work" && zip -qr "$out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/magnolia@12.34.xpi" . + rm -rf "$work" + ''; + ublockSettings = import ./ublock.nix { inherit lib; }; darkReaderSettings = import ./dark-reader.nix { inherit lib; }; redirectorSettings = import ./redirector.nix { inherit lib; };