feat: add firefox nix files

This commit is contained in:
matt1432 2023-10-09 04:13:58 -04:00
commit 1c30e1465d
6 changed files with 337 additions and 0 deletions

View file

@ -0,0 +1,14 @@
[
{
"slug": "600-sound-volume"
},
{
"slug": "google-container"
},
{
"slug": "checkmarks-web-ext"
},
{
"slug": "opera-gx-witchcraft-purple"
}
]

View file

@ -0,0 +1,48 @@
{ fetchurl, lib, stdenv }@args:
let
buildFirefoxXpiAddon = lib.makeOverridable ({ stdenv ? args.stdenv
, fetchurl ? args.fetchurl, pname, version, addonId, url, sha256, meta, ...
}:
stdenv.mkDerivation {
name = "${pname}-${version}";
inherit meta;
src = fetchurl { inherit url sha256; };
preferLocalBuild = true;
allowSubstitutes = true;
buildCommand = ''
dst="$out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
mkdir -p "$dst"
install -v -m644 "$src" "$dst/${addonId}.xpi"
'';
});
packages = import ./generated-firefox-addons.nix {
inherit buildFirefoxXpiAddon fetchurl lib stdenv;
};
in packages // {
inherit buildFirefoxXpiAddon;
bypass-paywalls-clean = let
version = "3.3.6.0";
in buildFirefoxXpiAddon {
pname = "bypass-paywalls-clean";
inherit version;
addonId = "magnolia@12.34";
url =
"https://gitlab.com/magnolia1234/bpc-uploads/-/raw/master/bypass_paywalls_clean-${version}.xpi";
sha256 = "sha256-nuWwx7a51WI1HPkATXMLi6UZiQo+YgWWCZZk54JPDIU=";
meta = with lib; {
homepage = "https://gitlab.com/magnolia1234/bypass-paywalls-firefox-clean";
description = "Bypass Paywalls of (custom) news sites";
license = licenses.mit;
platforms = platforms.all;
};
};
}

View file

@ -0,0 +1,80 @@
{ buildFirefoxXpiAddon, fetchurl, lib, stdenv }:
{
"600-sound-volume" = buildFirefoxXpiAddon {
pname = "600-sound-volume";
version = "1.5.3";
addonId = "{c4b582ec-4343-438c-bda2-2f691c16c262}";
url = "https://addons.mozilla.org/firefox/downloads/file/4133303/600_sound_volume-1.5.3.xpi";
sha256 = "7045a812608338f95181459ae3e518bb51c8dc9a724a4083afb687d14075c304";
meta = with lib;
{
homepage = "http://resourcefulman.net/";
description = "Up to 600% volume boost";
license = licenses.mpl20;
mozPermissions = [ "<all_urls>" "tabs" "activeTab" "storage" ];
platforms = platforms.all;
};
};
"checkmarks-web-ext" = buildFirefoxXpiAddon {
pname = "checkmarks-web-ext";
version = "1.6.1";
addonId = "{bd97f89b-17ba-4539-9fec-06852d07f917}";
url = "https://addons.mozilla.org/firefox/downloads/file/3594420/checkmarks_web_ext-1.6.1.xpi";
sha256 = "c3ccf4b302ee96c9b883c4a1f7d26395ab4e276b976cab2d65c9cd898964e4f0";
meta = with lib;
{
homepage = "https://github.com/tanwald/checkmarks";
description = "Checks, sorts, formats bookmarks and loads favicons.";
license = licenses.gpl3;
mozPermissions = [
"<all_urls>"
"bookmarks"
"browsingData"
"storage"
"tabs"
"webNavigation"
"webRequest"
"webRequestBlocking"
];
platforms = platforms.all;
};
};
"google-container" = buildFirefoxXpiAddon {
pname = "google-container";
version = "1.5.4";
addonId = "@contain-google";
url = "https://addons.mozilla.org/firefox/downloads/file/3736912/google_container-1.5.4.xpi";
sha256 = "47a7c0e85468332a0d949928d8b74376192cde4abaa14280002b3aca4ec814d0";
meta = with lib;
{
homepage = "https://github.com/containers-everywhere/contain-google";
description = "THIS IS NOT AN OFFICIAL ADDON FROM MOZILLA!\nIt is a fork of the Facebook Container addon.\n\nPrevent Google from tracking you around the web. The Google Container extension helps you take control and isolate your web activity from Google.";
license = licenses.mpl20;
mozPermissions = [
"<all_urls>"
"contextualIdentities"
"cookies"
"management"
"tabs"
"webRequestBlocking"
"webRequest"
"storage"
];
platforms = platforms.all;
};
};
"opera-gx-witchcraft-purple" = buildFirefoxXpiAddon {
pname = "opera-gx-witchcraft-purple";
version = "2.0";
addonId = "{bf197856-a3c2-4280-84c5-9b556379b706}";
url = "https://addons.mozilla.org/firefox/downloads/file/3522842/opera_gx_witchcraft_purple-2.0.xpi";
sha256 = "aa3c6377b8571c42a3988de042694be70ec6a250a9aea7ae1cc262acdc9374eb";
meta = with lib;
{
description = "inspired by Opera GX";
license = licenses.cc-by-sa-30;
mozPermissions = [];
platforms = platforms.all;
};
};
}