From b41c88fa6e6348d74dd9a27f51e72799bd9f7230 Mon Sep 17 00:00:00 2001 From: Azat Bahawi Date: Thu, 4 Jan 2024 11:55:51 +0300 Subject: 2024-01-04 --- modules/nixos/firefox/addons.json | 22 +- modules/nixos/firefox/addons.nix | 579 +++------------------------------- modules/nixos/firefox/default.nix | 165 +++++----- modules/nixos/firefox/userContent.css | 18 +- 4 files changed, 122 insertions(+), 662 deletions(-) (limited to 'modules/nixos/firefox') diff --git a/modules/nixos/firefox/addons.json b/modules/nixos/firefox/addons.json index 09c7f0f..c1ea3fa 100644 --- a/modules/nixos/firefox/addons.json +++ b/modules/nixos/firefox/addons.json @@ -3,18 +3,12 @@ "pname": "bitwarden", "slug": "bitwarden-password-manager" }, - { - "slug": "canvasblocker" - }, { "slug": "consent-o-matic" }, { "slug": "darkreader" }, - { - "slug": "font-fingerprint-defender" - }, { "slug": "furiganaize" }, @@ -24,26 +18,18 @@ { "slug": "languagetool" }, - { - "pname": "localcdn", - "slug": "localcdn-fork-of-decentraleyes" - }, { "slug": "no-pdf-download" }, { - "slug": "noscript" - }, - { - "pname": "privacy-badger", - "slug": "privacy-badger17" + "pname": "rikaichamp", + "slug": "10ten-ja-reader" }, { - "slug": "privacy-redirect" + "slug": "redirector" }, { - "pname": "rikaichamp", - "slug": "10ten-ja-reader" + "slug": "skip-redirect" }, { "slug": "ublock-origin" diff --git a/modules/nixos/firefox/addons.nix b/modules/nixos/firefox/addons.nix index a38e6d4..f640ff9 100644 --- a/modules/nixos/firefox/addons.nix +++ b/modules/nixos/firefox/addons.nix @@ -4,10 +4,10 @@ }: { "bitwarden" = buildFirefoxXpiAddon { pname = "bitwarden"; - version = "2023.12.0"; + version = "2023.12.1"; addonId = "{446900e4-71c2-419f-a6a7-df9c091e268b}"; - url = "https://addons.mozilla.org/firefox/downloads/file/4205620/bitwarden_password_manager-2023.12.0.xpi"; - sha256 = "f3e508d10c7bbd03890235354355c4bc526db24ebe241ce16630f272614258f4"; + url = "https://addons.mozilla.org/firefox/downloads/file/4211087/bitwarden_password_manager-2023.12.1.xpi"; + sha256 = "40f695fbe5153a7614f25289a9388f95c59a952fb039b8b9c33fd7bd99ea2da2"; meta = with lib; { homepage = "https://bitwarden.com"; description = "A secure and free password manager for all of your devices."; @@ -29,29 +29,6 @@ platforms = platforms.all; }; }; - "canvasblocker" = buildFirefoxXpiAddon { - pname = "canvasblocker"; - version = "1.9"; - addonId = "CanvasBlocker@kkapsner.de"; - url = "https://addons.mozilla.org/firefox/downloads/file/4097901/canvasblocker-1.9.xpi"; - sha256 = "5248c2c2dedd14b8aa2cd73f9484285d9453e93339f64fcf04a3d63c859cf3d7"; - meta = with lib; { - homepage = "https://github.com/kkapsner/CanvasBlocker/"; - description = "Alters some JS APIs to prevent fingerprinting."; - license = licenses.mpl20; - mozPermissions = [ - "" - "storage" - "tabs" - "webRequest" - "webRequestBlocking" - "contextualIdentities" - "cookies" - "privacy" - ]; - platforms = platforms.all; - }; - }; "consent-o-matic" = buildFirefoxXpiAddon { pname = "consent-o-matic"; version = "1.0.12"; @@ -87,20 +64,6 @@ platforms = platforms.all; }; }; - "font-fingerprint-defender" = buildFirefoxXpiAddon { - pname = "font-fingerprint-defender"; - version = "0.1.4"; - addonId = "{96ef5869-e3ba-4d21-b86e-21b163096400}"; - url = "https://addons.mozilla.org/firefox/downloads/file/4028360/font_fingerprint_defender-0.1.4.xpi"; - sha256 = "845e2d1e9fde67d21a6f4c2b0ed8bd81e81829883aca99f9569919abc06e9b34"; - meta = with lib; { - homepage = "https://mybrowseraddon.com/font-defender.html"; - description = "Defending against Font fingerprinting by reporting a fake value."; - license = licenses.mpl20; - mozPermissions = ["storage" "contextMenus" "notifications" "*://*/*"]; - platforms = platforms.all; - }; - }; "furiganaize" = buildFirefoxXpiAddon { pname = "furiganaize"; version = "0.7.2"; @@ -172,27 +135,6 @@ platforms = platforms.all; }; }; - "localcdn" = buildFirefoxXpiAddon { - pname = "localcdn"; - version = "2.6.60"; - addonId = "{b86e4813-687a-43e6-ab65-0bde4ab75758}"; - url = "https://addons.mozilla.org/firefox/downloads/file/4208268/localcdn_fork_of_decentraleyes-2.6.60.xpi"; - sha256 = "9ffd3609de89b8e0a4c9a425178f5e08b1ed2729fb0dd106320b72bcfc1d3392"; - meta = with lib; { - homepage = "https://www.localcdn.org"; - description = "Emulates remote frameworks (e.g. jQuery, Bootstrap, AngularJS) and delivers them as local resource. Prevents unnecessary 3rd party requests to Google, StackPath, MaxCDN and more. Prepared rules for uBlock Origin/uMatrix."; - license = licenses.mpl20; - mozPermissions = [ - "*://*/*" - "privacy" - "storage" - "webNavigation" - "webRequest" - "webRequestBlocking" - ]; - platforms = platforms.all; - }; - }; "no-pdf-download" = buildFirefoxXpiAddon { pname = "no-pdf-download"; version = "1.0.6"; @@ -207,487 +149,25 @@ platforms = platforms.all; }; }; - "noscript" = buildFirefoxXpiAddon { - pname = "noscript"; - version = "11.4.29"; - addonId = "{73a6fe31-595d-460b-a920-fcc0f8843232}"; - url = "https://addons.mozilla.org/firefox/downloads/file/4206186/noscript-11.4.29.xpi"; - sha256 = "05b98840b05ef2acbac333543e4b7c3d40fee2ce5fb4e29260b05e2ff6fe24cd"; + "redirector" = buildFirefoxXpiAddon { + pname = "redirector"; + version = "3.5.3"; + addonId = "redirector@einaregilsson.com"; + url = "https://addons.mozilla.org/firefox/downloads/file/3535009/redirector-3.5.3.xpi"; + sha256 = "eddbd3d5944e748d0bd6ecb6d9e9cf0e0c02dced6f42db21aab64190e71c0f71"; meta = with lib; { - homepage = "https://noscript.net"; - description = "The best security you can get in a web browser! Allow potentially malicious web content to run only from sites you trust. Protect yourself against XSS other web security exploits."; - license = licenses.gpl2; + homepage = "http://einaregilsson.com/redirector/"; + description = "Automatically redirects to user-defined urls on certain pages"; + license = licenses.mit; mozPermissions = [ - "contextMenus" - "storage" - "tabs" - "unlimitedStorage" - "webNavigation" "webRequest" "webRequestBlocking" - "dns" - "" - "file://*/*" - "ftp://*/*" - ]; - platforms = platforms.all; - }; - }; - "privacy-badger" = buildFirefoxXpiAddon { - pname = "privacy-badger"; - version = "2023.12.1"; - addonId = "jid1-MnnxcxisBPnSXQ@jetpack"; - url = "https://addons.mozilla.org/firefox/downloads/file/4203344/privacy_badger17-2023.12.1.xpi"; - sha256 = "aacac794c211fc6ea7dc51529883fd3e477aff37441d29ae7f576ab0f8c737b7"; - meta = with lib; { - homepage = "https://privacybadger.org/"; - description = "Automatically learns to block invisible trackers."; - license = licenses.gpl3; - mozPermissions = [ - "" - "alarms" - "tabs" "webNavigation" - "webRequest" - "webRequestBlocking" - "storage" - "privacy" - "https://*.facebook.com/*" - "http://*.facebook.com/*" - "https://*.messenger.com/*" - "http://*.messenger.com/*" - "*://*.facebookcorewwwi.onion/*" - "https://docs.google.com/*" - "http://docs.google.com/*" - "https://mail.google.com/*" - "http://mail.google.com/*" - "https://www.google.com/*" - "http://www.google.com/*" - "https://www.google.ad/*" - "http://www.google.ad/*" - "https://www.google.ae/*" - "http://www.google.ae/*" - "https://www.google.com.af/*" - "http://www.google.com.af/*" - "https://www.google.com.ag/*" - "http://www.google.com.ag/*" - "https://www.google.com.ai/*" - "http://www.google.com.ai/*" - "https://www.google.al/*" - "http://www.google.al/*" - "https://www.google.am/*" - "http://www.google.am/*" - "https://www.google.co.ao/*" - "http://www.google.co.ao/*" - "https://www.google.com.ar/*" - "http://www.google.com.ar/*" - "https://www.google.as/*" - "http://www.google.as/*" - "https://www.google.at/*" - "http://www.google.at/*" - "https://www.google.com.au/*" - "http://www.google.com.au/*" - "https://www.google.az/*" - "http://www.google.az/*" - "https://www.google.ba/*" - "http://www.google.ba/*" - "https://www.google.com.bd/*" - "http://www.google.com.bd/*" - "https://www.google.be/*" - "http://www.google.be/*" - "https://www.google.bf/*" - "http://www.google.bf/*" - "https://www.google.bg/*" - "http://www.google.bg/*" - "https://www.google.com.bh/*" - "http://www.google.com.bh/*" - "https://www.google.bi/*" - "http://www.google.bi/*" - "https://www.google.bj/*" - "http://www.google.bj/*" - "https://www.google.com.bn/*" - "http://www.google.com.bn/*" - "https://www.google.com.bo/*" - "http://www.google.com.bo/*" - "https://www.google.com.br/*" - "http://www.google.com.br/*" - "https://www.google.bs/*" - "http://www.google.bs/*" - "https://www.google.bt/*" - "http://www.google.bt/*" - "https://www.google.co.bw/*" - "http://www.google.co.bw/*" - "https://www.google.by/*" - "http://www.google.by/*" - "https://www.google.com.bz/*" - "http://www.google.com.bz/*" - "https://www.google.ca/*" - "http://www.google.ca/*" - "https://www.google.cd/*" - "http://www.google.cd/*" - "https://www.google.cf/*" - "http://www.google.cf/*" - "https://www.google.cg/*" - "http://www.google.cg/*" - "https://www.google.ch/*" - "http://www.google.ch/*" - "https://www.google.ci/*" - "http://www.google.ci/*" - "https://www.google.co.ck/*" - "http://www.google.co.ck/*" - "https://www.google.cl/*" - "http://www.google.cl/*" - "https://www.google.cm/*" - "http://www.google.cm/*" - "https://www.google.cn/*" - "http://www.google.cn/*" - "https://www.google.com.co/*" - "http://www.google.com.co/*" - "https://www.google.co.cr/*" - "http://www.google.co.cr/*" - "https://www.google.com.cu/*" - "http://www.google.com.cu/*" - "https://www.google.cv/*" - "http://www.google.cv/*" - "https://www.google.com.cy/*" - "http://www.google.com.cy/*" - "https://www.google.cz/*" - "http://www.google.cz/*" - "https://www.google.de/*" - "http://www.google.de/*" - "https://www.google.dj/*" - "http://www.google.dj/*" - "https://www.google.dk/*" - "http://www.google.dk/*" - "https://www.google.dm/*" - "http://www.google.dm/*" - "https://www.google.com.do/*" - "http://www.google.com.do/*" - "https://www.google.dz/*" - "http://www.google.dz/*" - "https://www.google.com.ec/*" - "http://www.google.com.ec/*" - "https://www.google.ee/*" - "http://www.google.ee/*" - "https://www.google.com.eg/*" - "http://www.google.com.eg/*" - "https://www.google.es/*" - "http://www.google.es/*" - "https://www.google.com.et/*" - "http://www.google.com.et/*" - "https://www.google.fi/*" - "http://www.google.fi/*" - "https://www.google.com.fj/*" - "http://www.google.com.fj/*" - "https://www.google.fm/*" - "http://www.google.fm/*" - "https://www.google.fr/*" - "http://www.google.fr/*" - "https://www.google.ga/*" - "http://www.google.ga/*" - "https://www.google.ge/*" - "http://www.google.ge/*" - "https://www.google.gg/*" - "http://www.google.gg/*" - "https://www.google.com.gh/*" - "http://www.google.com.gh/*" - "https://www.google.com.gi/*" - "http://www.google.com.gi/*" - "https://www.google.gl/*" - "http://www.google.gl/*" - "https://www.google.gm/*" - "http://www.google.gm/*" - "https://www.google.gr/*" - "http://www.google.gr/*" - "https://www.google.com.gt/*" - "http://www.google.com.gt/*" - "https://www.google.gy/*" - "http://www.google.gy/*" - "https://www.google.com.hk/*" - "http://www.google.com.hk/*" - "https://www.google.hn/*" - "http://www.google.hn/*" - "https://www.google.hr/*" - "http://www.google.hr/*" - "https://www.google.ht/*" - "http://www.google.ht/*" - "https://www.google.hu/*" - "http://www.google.hu/*" - "https://www.google.co.id/*" - "http://www.google.co.id/*" - "https://www.google.ie/*" - "http://www.google.ie/*" - "https://www.google.co.il/*" - "http://www.google.co.il/*" - "https://www.google.im/*" - "http://www.google.im/*" - "https://www.google.co.in/*" - "http://www.google.co.in/*" - "https://www.google.iq/*" - "http://www.google.iq/*" - "https://www.google.is/*" - "http://www.google.is/*" - "https://www.google.it/*" - "http://www.google.it/*" - "https://www.google.je/*" - "http://www.google.je/*" - "https://www.google.com.jm/*" - "http://www.google.com.jm/*" - "https://www.google.jo/*" - "http://www.google.jo/*" - "https://www.google.co.jp/*" - "http://www.google.co.jp/*" - "https://www.google.co.ke/*" - "http://www.google.co.ke/*" - "https://www.google.com.kh/*" - "http://www.google.com.kh/*" - "https://www.google.ki/*" - "http://www.google.ki/*" - "https://www.google.kg/*" - "http://www.google.kg/*" - "https://www.google.co.kr/*" - "http://www.google.co.kr/*" - "https://www.google.com.kw/*" - "http://www.google.com.kw/*" - "https://www.google.kz/*" - "http://www.google.kz/*" - "https://www.google.la/*" - "http://www.google.la/*" - "https://www.google.com.lb/*" - "http://www.google.com.lb/*" - "https://www.google.li/*" - "http://www.google.li/*" - "https://www.google.lk/*" - "http://www.google.lk/*" - "https://www.google.co.ls/*" - "http://www.google.co.ls/*" - "https://www.google.lt/*" - "http://www.google.lt/*" - "https://www.google.lu/*" - "http://www.google.lu/*" - "https://www.google.lv/*" - "http://www.google.lv/*" - "https://www.google.com.ly/*" - "http://www.google.com.ly/*" - "https://www.google.co.ma/*" - "http://www.google.co.ma/*" - "https://www.google.md/*" - "http://www.google.md/*" - "https://www.google.me/*" - "http://www.google.me/*" - "https://www.google.mg/*" - "http://www.google.mg/*" - "https://www.google.mk/*" - "http://www.google.mk/*" - "https://www.google.ml/*" - "http://www.google.ml/*" - "https://www.google.com.mm/*" - "http://www.google.com.mm/*" - "https://www.google.mn/*" - "http://www.google.mn/*" - "https://www.google.ms/*" - "http://www.google.ms/*" - "https://www.google.com.mt/*" - "http://www.google.com.mt/*" - "https://www.google.mu/*" - "http://www.google.mu/*" - "https://www.google.mv/*" - "http://www.google.mv/*" - "https://www.google.mw/*" - "http://www.google.mw/*" - "https://www.google.com.mx/*" - "http://www.google.com.mx/*" - "https://www.google.com.my/*" - "http://www.google.com.my/*" - "https://www.google.co.mz/*" - "http://www.google.co.mz/*" - "https://www.google.com.na/*" - "http://www.google.com.na/*" - "https://www.google.com.ng/*" - "http://www.google.com.ng/*" - "https://www.google.com.ni/*" - "http://www.google.com.ni/*" - "https://www.google.ne/*" - "http://www.google.ne/*" - "https://www.google.nl/*" - "http://www.google.nl/*" - "https://www.google.no/*" - "http://www.google.no/*" - "https://www.google.com.np/*" - "http://www.google.com.np/*" - "https://www.google.nr/*" - "http://www.google.nr/*" - "https://www.google.nu/*" - "http://www.google.nu/*" - "https://www.google.co.nz/*" - "http://www.google.co.nz/*" - "https://www.google.com.om/*" - "http://www.google.com.om/*" - "https://www.google.com.pa/*" - "http://www.google.com.pa/*" - "https://www.google.com.pe/*" - "http://www.google.com.pe/*" - "https://www.google.com.pg/*" - "http://www.google.com.pg/*" - "https://www.google.com.ph/*" - "http://www.google.com.ph/*" - "https://www.google.com.pk/*" - "http://www.google.com.pk/*" - "https://www.google.pl/*" - "http://www.google.pl/*" - "https://www.google.pn/*" - "http://www.google.pn/*" - "https://www.google.com.pr/*" - "http://www.google.com.pr/*" - "https://www.google.ps/*" - "http://www.google.ps/*" - "https://www.google.pt/*" - "http://www.google.pt/*" - "https://www.google.com.py/*" - "http://www.google.com.py/*" - "https://www.google.com.qa/*" - "http://www.google.com.qa/*" - "https://www.google.ro/*" - "http://www.google.ro/*" - "https://www.google.ru/*" - "http://www.google.ru/*" - "https://www.google.rw/*" - "http://www.google.rw/*" - "https://www.google.com.sa/*" - "http://www.google.com.sa/*" - "https://www.google.com.sb/*" - "http://www.google.com.sb/*" - "https://www.google.sc/*" - "http://www.google.sc/*" - "https://www.google.se/*" - "http://www.google.se/*" - "https://www.google.com.sg/*" - "http://www.google.com.sg/*" - "https://www.google.sh/*" - "http://www.google.sh/*" - "https://www.google.si/*" - "http://www.google.si/*" - "https://www.google.sk/*" - "http://www.google.sk/*" - "https://www.google.com.sl/*" - "http://www.google.com.sl/*" - "https://www.google.sn/*" - "http://www.google.sn/*" - "https://www.google.so/*" - "http://www.google.so/*" - "https://www.google.sm/*" - "http://www.google.sm/*" - "https://www.google.sr/*" - "http://www.google.sr/*" - "https://www.google.st/*" - "http://www.google.st/*" - "https://www.google.com.sv/*" - "http://www.google.com.sv/*" - "https://www.google.td/*" - "http://www.google.td/*" - "https://www.google.tg/*" - "http://www.google.tg/*" - "https://www.google.co.th/*" - "http://www.google.co.th/*" - "https://www.google.com.tj/*" - "http://www.google.com.tj/*" - "https://www.google.tl/*" - "http://www.google.tl/*" - "https://www.google.tm/*" - "http://www.google.tm/*" - "https://www.google.tn/*" - "http://www.google.tn/*" - "https://www.google.to/*" - "http://www.google.to/*" - "https://www.google.com.tr/*" - "http://www.google.com.tr/*" - "https://www.google.tt/*" - "http://www.google.tt/*" - "https://www.google.com.tw/*" - "http://www.google.com.tw/*" - "https://www.google.co.tz/*" - "http://www.google.co.tz/*" - "https://www.google.com.ua/*" - "http://www.google.com.ua/*" - "https://www.google.co.ug/*" - "http://www.google.co.ug/*" - "https://www.google.co.uk/*" - "http://www.google.co.uk/*" - "https://www.google.com.uy/*" - "http://www.google.com.uy/*" - "https://www.google.co.uz/*" - "http://www.google.co.uz/*" - "https://www.google.com.vc/*" - "http://www.google.com.vc/*" - "https://www.google.co.ve/*" - "http://www.google.co.ve/*" - "https://www.google.vg/*" - "http://www.google.vg/*" - "https://www.google.co.vi/*" - "http://www.google.co.vi/*" - "https://www.google.com.vn/*" - "http://www.google.com.vn/*" - "https://www.google.vu/*" - "http://www.google.vu/*" - "https://www.google.ws/*" - "http://www.google.ws/*" - "https://www.google.rs/*" - "http://www.google.rs/*" - "https://www.google.co.za/*" - "http://www.google.co.za/*" - "https://www.google.co.zm/*" - "http://www.google.co.zm/*" - "https://www.google.co.zw/*" - "http://www.google.co.zw/*" - "https://www.google.cat/*" - "http://www.google.cat/*" - ]; - platforms = platforms.all; - }; - }; - "privacy-redirect" = buildFirefoxXpiAddon { - pname = "privacy-redirect"; - version = "1.1.49"; - addonId = "{b7f9d2cd-d772-4302-8c3f-eb941af36f76}"; - url = "https://addons.mozilla.org/firefox/downloads/file/3815058/privacy_redirect-1.1.49.xpi"; - sha256 = "9f1cf6e58fa3f86d180b5b99549fa666fa853a827c48cb231558566b0c1c3c75"; - meta = with lib; { - homepage = "https://github.com/SimonBrazell/privacy-redirect"; - description = "Redirects Twitter, YouTube, Instagram and more to privacy friendly alternatives."; - license = licenses.gpl3; - mozPermissions = [ "storage" - "webRequest" - "webRequestBlocking" - "" - "*://twitter.com/*" - "*://www.twitter.com/*" - "*://mobile.twitter.com/*" - "*://pbs.twimg.com/*" - "*://video.twimg.com/*" - "*://invidious.snopyta.org/*" - "*://invidious.xyz/*" - "*://invidious.kavin.rocks/*" - "*://tube.connect.cafe/*" - "*://invidious.zapashcanon.fr/*" - "*://invidiou.site/*" - "*://vid.mint.lgbt/*" - "*://invidious.site/*" - "*://yewtu.be/*" - "*://invidious.tube/*" - "*://invidious.silkky.cloud/*" - "*://invidious.himiko.cloud/*" - "*://inv.skyn3t.in/*" - "*://tube.incognet.io/*" - "*://invidious.tinfoil-hat.net/*" - "*://invidious.namazso.eu/*" - "*://vid.puffyan.us/*" - "*://dev.viewtube.io/*" - "*://invidious.048596.xyz/*" - "*://fz253lmuao3strwbfbmx46yu7acac2jz27iwtorgmbqlkurlclmancad.onion/*" - "*://qklhadlycap4cnod.onion/*" - "*://c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid.onion/*" - "*://w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd.onion/*" + "tabs" + "http://*/*" + "https://*/*" + "notifications" ]; platforms = platforms.all; }; @@ -716,6 +196,27 @@ platforms = platforms.all; }; }; + "skip-redirect" = buildFirefoxXpiAddon { + pname = "skip-redirect"; + version = "2.3.6"; + addonId = "skipredirect@sblask"; + url = "https://addons.mozilla.org/firefox/downloads/file/3920533/skip_redirect-2.3.6.xpi"; + sha256 = "dbe8950245c1f475c5c1c6daab89c79b83ba4680621c91e80f15be7b09b618ae"; + meta = with lib; { + description = "Some web pages use intermediary pages before redirecting to a final page. This add-on tries to extract the final url from the intermediary url and goes there straight away if successful."; + license = licenses.mit; + mozPermissions = [ + "" + "clipboardWrite" + "contextMenus" + "notifications" + "storage" + "webRequest" + "webRequestBlocking" + ]; + platforms = platforms.all; + }; + }; "ublock-origin" = buildFirefoxXpiAddon { pname = "ublock-origin"; version = "1.54.0"; @@ -778,10 +279,10 @@ }; "violentmonkey" = buildFirefoxXpiAddon { pname = "violentmonkey"; - version = "2.16.0"; + version = "2.17.0"; addonId = "{aecec67f-0d10-4fa7-b7c7-609a2db280cf}"; - url = "https://addons.mozilla.org/firefox/downloads/file/4185752/violentmonkey-2.16.0.xpi"; - sha256 = "cd1529f42c4ee591e86d55ea382c8be523236b866ad2c06088152450f682da9c"; + url = "https://addons.mozilla.org/firefox/downloads/file/4213757/violentmonkey-2.17.0.xpi"; + sha256 = "8a0d00f6b0a0ec2b77cab4576b0c30a81705ef7e1f45de9856c36c193afc6843"; meta = with lib; { homepage = "https://violentmonkey.github.io/"; description = "Userscript support for browsers, open source."; diff --git a/modules/nixos/firefox/default.nix b/modules/nixos/firefox/default.nix index 73b5b58..7c69f71 100644 --- a/modules/nixos/firefox/default.nix +++ b/modules/nixos/firefox/default.nix @@ -106,18 +106,14 @@ in { in with addons; [ - bitwarden - canvasblocker consent-o-matic darkreader - font-fingerprint-defender furiganaize languagetool - localcdn no-pdf-download - noscript - privacy-redirect + redirector rikaichamp + skip-redirect ublock-origin user-agent-switcher violentmonkey @@ -225,7 +221,7 @@ in { }; "godocs.io" = { - urls = [{template = "https://godocs.io/?q={}";}]; + urls = [{template = "https://godocs.io/?q={searchTerms}";}]; icon = ''${pkgs.fetchurl { url = "https://go.dev/images/favicon-gopher.svg"; sha256 = "sha256-OlKpUUeYF8TtMoX4e0ERK1ocIb53OJ8ZDxvwJaQVM/0="; @@ -451,116 +447,103 @@ in { }; }; - # NOTE Kinda breaks explicit bookmarking... - # bookmarks = [ - # { - # name = "Local"; - # bookmarks = with config.nixfiles.modules; [ - # (mkIf syncthing.enable { - # name = "Syncthing"; - # url = "http://${config.services.syncthing.guiAddress}"; - # }) - # (mkIf ipfs.enable { - # name = "IPFS"; - # url = "http://127.0.0.1:${toString ipfs.apiPort}/webui"; - # }) - # ]; - # } - # ]; + # NOTE This silently overrides all other bookmarks. + bookmarks = [ + { + name = "Bookmarks Toolbar"; + toolbar = true; + bookmarks = with config.nixfiles.modules; [ + (mkIf syncthing.enable { + name = "Syncthing"; + url = "http://${config.services.syncthing.guiAddress}"; + }) + (mkIf ipfs.enable { + name = "IPFS"; + url = "http://127.0.0.1:${toString ipfs.apiPort}/webui"; + }) + ]; + } + ]; # https://github.com/arkenfox/user.js/blob/master/user.js arkenfox = { enable = true; "0000".enable = true; - "0100".enable = true; + "0100" = { + enable = true; + "0103"."browser.startup.homepage".value = "about:blank"; + }; "0200".enable = true; "0300".enable = true; "0400" = { enable = true; - "0401" = { - enable = true; - "browser.safebrowsing.malware.enabled" = { - enable = true; - value = false; - }; - "browser.safebrowsing.phishing.enabled" = { - enable = true; - value = false; - }; - }; - "0402" = { - enable = true; - "browser.safebrowsing.downloads.enabled" = { - enable = true; - value = false; - }; - }; + "0401"."browser.safebrowsing.phishing.enabled".enable = true; + "0402"."browser.safebrowsing.downloads.enabled".enable = true; "0404" = { - enable = true; - "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = { - enable = true; - value = false; - }; - "browser.safebrowsing.downloads.remote.block_uncommon" = { - enable = true; - value = false; - }; - }; - "0405" = { - enable = true; - "browser.safebrowsing.allowOverride" = { - enable = true; - value = false; - }; + "browser.safebrowsing.downloads.remote.block_potentially_unwanted".enable = true; + "browser.safebrowsing.downloads.remote.block_uncommon".enable = true; }; + "0405"."browser.safebrowsing.allowOverride".enable = true; }; "0600".enable = true; "0700" = { enable = true; - "0710" = { + "0710"."network.trr.mode" = { enable = true; - "network.trr.mode" = { + value = 5; + }; + }; + "0800" = { + enable = true; + "0830" = { + "browser.search.separatePrivateDefault" = { enable = true; - value = 5; + value = false; + }; + "browser.search.separatePrivateDefault.ui.enabled" = { + enable = true; + value = false; }; }; }; - "0800".enable = true; "0900".enable = true; "1000" = { enable = true; - "1001" = { - enable = true; - "browser.cache.disk.enable" = { - enable = true; - value = true; - }; - }; + "1001".enable = false; }; "1200".enable = true; "1600".enable = true; - "1700".enable = false; + "1700".enable = true; "2000".enable = true; - "2400".enable = false; + "2400".enable = true; "2600" = { enable = true; - "2615" = { - enable = true; - "permissions.default.shortcuts" = { - enable = true; - value = 2; - }; - }; + "2615"."permissions.default.shortcuts".enable = true; }; "2700".enable = true; - "2800".enable = true; - "4500".enable = false; - "5000".enable = false; - "5500".enable = false; - "6000".enable = false; - "7000".enable = false; - "8000".enable = false; - "9000".enable = false; + "2800" = { + enable = true; + "2811"."privacy.clearOnShutdown.history".value = false; + }; + "4500" = { + enable = true; + "4502".enable = false; + "4504".enable = false; + }; + "5000" = { + enable = true; + "5003".enable = true; + "5017".enable = true; + "5019".enable = true; + }; + "5500" = { + enable = true; + "5508".enable = true; + }; + "6000".enable = true; + "7000".enable = true; + "8000".enable = true; + "9000".enable = true; }; settings = { @@ -568,9 +551,6 @@ in { "browser.backspace_action" = 0; "browser.disableResetPrompt" = true; "browser.download.autohideButton" = false; - "browser.eme.ui.enabled" = false; - "browser.newtabpage.activity-stream.feeds.system.topsites" = false; - "browser.newtabpage.activity-stream.feeds.topsites" = false; "browser.newtabpage.introShown" = true; "browser.onboarding.enabled" = false; "browser.open.lastDir" = config.my.home; @@ -578,6 +558,7 @@ in { "browser.region.update.region" = "US"; "browser.search.region" = "US"; "browser.search.update" = false; + "browser.shell.checkDefaultBrowser" = false; "browser.tabs.closeWindowWithLastTab" = true; "browser.tabs.firefox-view" = false; "browser.tabs.firefox-view-next" = false; @@ -585,13 +566,13 @@ in { "browser.tabs.warnOnClose" = false; "browser.tabs.warnOnCloseOtherTabs" = false; "browser.tabs.warnOnOpen" = false; - "browser.toolbars.bookmarks.visibility" = "never"; + "browser.toolbars.bookmarks.visibility" = "newtab"; + "browser.translations.enable" = false; "browser.urlbar.decodeURLsOnCopy" = true; "browser.warnOnQuitShortcut" = false; "devtools.everOpened" = true; "doh-rollout.home-region" = "US"; "extensions.pocket.enabled" = false; - "extensions.screenshots.disabled" = true; "extensions.update.autoUpdateDefault" = false; "extensions.update.enabled" = false; "full-screen-api.warning.delay" = 0; @@ -601,10 +582,8 @@ in { "identity.fxaccounts.enabled" = false; "media.autoplay.blocking_policy" = 2; "media.autoplay.default" = 5; - "media.eme.enabled" = false; "media.hardwaremediakeys.enabled" = false; "reader.parse-on-load.enabled" = false; - "signon.rememberSignons" = false; "toolkit.legacyUserProfileCustomizations.stylesheets" = true; }; }; diff --git a/modules/nixos/firefox/userContent.css b/modules/nixos/firefox/userContent.css index 544539f..c9a33b7 100644 --- a/modules/nixos/firefox/userContent.css +++ b/modules/nixos/firefox/userContent.css @@ -118,14 +118,16 @@ #sidebar, .ai-start, .bottom-notice, - .comment-user, .d-flex.g4, .d-flex.s-btn-group, .js-add-link.comments-link, .js-consent-banner, .js-dismissable-hero, .js-post-issue, + .js-saves-btn, .js-show-link.comments-link, + .js-vote-down-btn, + .js-vote-up-btn, .post-taglist, .s-notice, .s-topbar, @@ -176,16 +178,16 @@ } } -@-moz-document regexp("https?://habr\.com/(ru|en)/(article|company/.*/news|companies|blog|post)/.*") +@-moz-document regexp("https?://habr\.com/(ru|en)/(articles|company/.*/news|companies|blog|post)/.*") { .Vue-Toastification__container, + .tm-article-labels, + .tm-article-presenter__banner, .tm-article-presenter__footer, .tm-article-presenter__meta, .tm-article-snippet__labels, - .tm-article-sticky-panel, .tm-base-layout__header, .tm-block.tm-block_spacing-bottom, - .tm-block_spacing-around, .tm-comment-footer, .tm-comment__header, .tm-editoral-subscription, @@ -342,14 +344,6 @@ } } -@-moz-document regexp("https?://(www\.)?protondb\.com/app/.*") -{ - /* SteamDeck reports. */ - div[class*="GameReports__Container"]:nth-child(8) { - display: none !important; - } -} - @-moz-document regexp("https?://open-vsx\.org.*") { MuiCollapse-container, -- cgit 1.4.1