diff --git a/hosts/common/programs/firefox.nix b/hosts/common/programs/firefox.nix index e4b7a700..3ec05aac 100644 --- a/hosts/common/programs/firefox.nix +++ b/hosts/common/programs/firefox.nix @@ -154,7 +154,10 @@ in package = pkgs.firefox-extensions.browserpass-extension; enable = lib.mkDefault true; }; - # TODO: add bypass-paywalls-clean (build from source) + bypass-paywalls-clean = { + package = pkgs.firefox-extensions.bypass-paywalls-clean; + enable = lib.mkDefault true; + }; ether-metamask = { package = pkgs.firefox-extensions.ether-metamask; enable = lib.mkDefault false; # until i can disable the first-run notification diff --git a/pkgs/additional/firefox-extensions/bypass-paywalls-clean/default.nix b/pkgs/additional/firefox-extensions/bypass-paywalls-clean/default.nix new file mode 100644 index 00000000..99226833 --- /dev/null +++ b/pkgs/additional/firefox-extensions/bypass-paywalls-clean/default.nix @@ -0,0 +1,31 @@ +{ lib +, fetchFromGitLab +, stdenv +, zip +}: + +stdenv.mkDerivation rec { + pname = "bypass-paywalls-clean"; + version = "3.2.5.0"; + src = fetchFromGitLab { + owner = "magnolia1234"; + repo = "bypass-paywalls-firefox-clean"; + rev = "v${version}"; + hash = "sha256-FkAqzJisPdBiElX9ceQS3zfg8zwrsozOquHDagiRKiE="; + }; + + installPhase = '' + ${zip}/bin/zip -r $out ./* + ''; + + passthru = { + extid = "magnolia@12.34"; + }; + + meta = { + homepage = "https://gitlab.com/magnolia1234/bypass-paywalls-firefox-clean"; + description = "Add-on allows you to read articles from (supported) sites that implement a paywall."; + license = with lib.licenses; [ mit ]; + maintainer = with lib.maintainers; [ colinsane ]; + }; +} diff --git a/pkgs/additional/firefox-extensions/default.nix b/pkgs/additional/firefox-extensions/default.nix index 81096256..f3dffdbf 100644 --- a/pkgs/additional/firefox-extensions/default.nix +++ b/pkgs/additional/firefox-extensions/default.nix @@ -88,6 +88,7 @@ in lib.makeScope newScope (self: with self; { # # TODO: give these updateScript's browserpass-extension = callPackage ./browserpass-extension { }; + bypass-paywalls-clean = callPackage ./bypass-paywalls-clean { }; ether-metamask = fetchAddon "ether-metamask" "webextension@metamask.io" "sha256-UI83wUUc33OlQYX+olgujeppoo2D2PAUJ+Wma5mH2O0="; i2p-in-private-browsing = fetchAddon "i2p-in-private-browsing" "i2ppb@eyedeekay.github.io" "sha256-dJcJ3jxeAeAkRvhODeIVrCflvX+S4E0wT/PyYzQBQWs="; sidebery = fetchAddon "sidebery" "{3c078156-979c-498b-8990-85f7987dd929}" "sha256-YONfK/rIjlsrTgRHIt3km07Q7KnpIW89Z9r92ZSCc6w="; @@ -102,6 +103,7 @@ in lib.makeScope newScope (self: with self; { browserpass-extension = (wrapAddon unwrapped.browserpass-extension {}) .withoutPermission "notifications"; + bypass-paywalls-clean = wrapAddon unwrapped.bypass-paywalls-clean {}; ether-metamask = wrapAddon unwrapped.ether-metamask {}; i2p-in-private-browsing = wrapAddon unwrapped.i2p-in-private-browsing {}; sidebery = wrapAddon unwrapped.sidebery {};