aboutsummaryrefslogtreecommitdiff
path: root/addons/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'addons/default.nix')
-rw-r--r--addons/default.nix90
1 files changed, 90 insertions, 0 deletions
diff --git a/addons/default.nix b/addons/default.nix
new file mode 100644
index 0000000..2e648ce
--- /dev/null
+++ b/addons/default.nix
@@ -0,0 +1,90 @@
+{ pkgs, lib, fetchurl, runCommand }:
+
+let
+ # Extension IDs are used as keys, see .applications.gecko.id in manifest.json
+ localAddon = { id, src, settings ? null }: {
+ policies = {
+ ExtensionSettings.${id} = {
+ installation_mode = "force_installed";
+ install_url = "file://${src}";
+ };
+ } // (lib.optionalAttrs (settings != null) {
+ "3rdparty".Extensions.${id} = settings;
+ });
+ };
+
+ addon = { id, url, sha256, settings ? null }: localAddon {
+ inherit id settings;
+ src = fetchurl {
+ inherit url sha256;
+ };
+ };
+in {
+ # This can be safe-ish, if extension installation is also disabled
+ disableExtensionSignatureChecking.preferences = {
+ xpinstall.signatures.required = false;
+ };
+
+ privacybadger = addon {
+ id = "jid1-MnnxcxisBPnSXQ@jetpack";
+ url = "https://addons.mozilla.org/firefox/downloads/file/3509922/privacy_badger-2020.2.19-an+fx.xpi";
+ sha256 = "1issggv5wl5x3a4p3q8hrhbkhgsdx9f2qzbscg6y6f75yazswc20";
+ settings = {
+ showIntroPage = false;
+ };
+ };
+
+ noscript = addon {
+ id = "{73a6fe31-595d-460b-a920-fcc0f8843232}";
+ url = "https://addons.mozilla.org/firefox/downloads/file/3517653/noscript_security_suite-11.0.15-an+fx.xpi";
+ sha256 = "0gb0a6pp0rj9jpg1094arqvcwxh1rd2m47ijawlidybm29qmyyay";
+ };
+
+ noscriptFork = localAddon {
+ id = "{73a6fe31-595d-460b-a920-fcc0f8843232}";
+ src = import (pkgs.fetchzip {
+ url = https://git.tx0.co/firefox-profiles/noscript/snapshot/noscript-63e23c676fb86f33e70d7362bf625b534ce65346.tar.xz ;
+ sha256 = "0f0hna8fjj7vdjgmnjkd567smg8gda8jp9sl21nz3dx0s5d0vw8f";
+ });
+ settings.defaultSettings = builtins.readFile ./noscript/config.json;
+ };
+
+ ublock = addon {
+ id = "uBlock0@raymondhill.net";
+ url = "https://addons.mozilla.org/firefox/downloads/file/3509800/ublock_origin-1.25.0-an+fx.xpi";
+ sha256 = "0pyna4c2b2ffh8ifjj4c8ga9b73g37pk432nyinf8majyb1fq6rc";
+ settings.adminSettings = builtins.readFile ./ublock/config.json;
+ };
+
+ qwantjunior = localAddon {
+ id = "qwantjunior@search.mozilla.org";
+ src = runCommand "addon.xpi" { nativeBuildInputs = [ pkgs.zip ]; } ''
+ SRC=${./qwantsearch}
+ cd $SRC
+ zip -r $out .
+ '';
+
+ settings.settings = {
+ searchRegionKey = "DE";
+ searchLanguageKey = "de";
+ interfaceLanguageKey = "de_de";
+ };
+ };
+
+ qwantjuniorSystem.policies = {
+ "3rdparty".Extensions."qwantjunior@search.mozilla.org".settings = {
+ searchRegionKey = "DE";
+ searchLanguageKey = "de";
+ interfaceLanguageKey = "de_de";
+ };
+ };
+
+/*
+ borderify.policies = {
+ ExtensionSettings."borderify@example.com" = {
+ installation_mode = "force_installed";
+ install_url = "file://${../../borderify.xpi}";
+ };
+ };
+*/
+}