{ buildFirefoxXpiAddon, lib, }: { "bitwarden" = buildFirefoxXpiAddon { pname = "bitwarden"; version = "2024.11.2"; addonId = "{446900e4-71c2-419f-a6a7-df9c091e268b}"; url = "https://addons.mozilla.org/firefox/downloads/file/4392295/bitwarden_password_manager-2024.11.2.xpi"; sha256 = "38faecbfca76086a54e62b6e2036eae45e9d9f9f3aee4c7a72b652593f51b8e7"; meta = with lib; { homepage = "https://bitwarden.com"; description = "At home, at work, or on the go, Bitwarden easily secures all your passwords, passkeys, and sensitive information."; license = licenses.gpl3; mozPermissions = [ "" "*://*/*" "tabs" "contextMenus" "storage" "unlimitedStorage" "clipboardRead" "clipboardWrite" "idle" "alarms" "webRequest" "webRequestBlocking" "webNavigation" "file:///*" "https://lastpass.com/export.php" ]; platforms = platforms.all; }; }; "consent-o-matic" = buildFirefoxXpiAddon { pname = "consent-o-matic"; version = "1.1.3"; addonId = "gdpr@cavi.au.dk"; url = "https://addons.mozilla.org/firefox/downloads/file/4362793/consent_o_matic-1.1.3.xpi"; sha256 = "a3ca5c64ac50376366beb4cce610d0af80e687c8c6a8c21a107c6118059896f8"; meta = with lib; { homepage = "https://consentomatic.au.dk/"; description = "Automatic handling of GDPR consent forms"; license = licenses.mit; mozPermissions = [ "activeTab" "tabs" "storage" "" ]; platforms = platforms.all; }; }; "furiganaize" = buildFirefoxXpiAddon { pname = "furiganaize"; version = "0.7.2"; addonId = "{a2503cd4-4083-4c2f-bef2-37767a569867}"; url = "https://addons.mozilla.org/firefox/downloads/file/4032306/furiganaize-0.7.2.xpi"; sha256 = "7545bc418f2afbc576b0e762f2b2fa0545d5d94f3f80737e5356d087a5951c0b"; meta = with lib; { homepage = "https://github.com/kuanyui/Furiganaize"; description = "Auto insert furigana (振り仮名) on Japanese kanji."; license = licenses.mit; mozPermissions = [ "http://*/*" "https://*/*" "file://*/*" "" "activeTab" "tabs" "storage" ]; platforms = platforms.all; }; }; "indie-wiki-buddy" = buildFirefoxXpiAddon { pname = "indie-wiki-buddy"; version = "3.11.1"; addonId = "{cb31ec5d-c49a-4e5a-b240-16c767444f62}"; url = "https://addons.mozilla.org/firefox/downloads/file/4379107/indie_wiki_buddy-3.11.1.xpi"; sha256 = "2b63271fa42e3d46a683605f719de816195471ccd8654771606d6eb811f7596d"; meta = with lib; { homepage = "https://getindie.wiki/"; description = "Helping you discover quality, independent wikis!\n\nWhen visiting a Fandom wiki, Indie Wiki Buddy redirects or alerts you of independent alternatives. It also filters search engine results. BreezeWiki is also supported, to reduce clutter on Fandom."; license = licenses.mit; mozPermissions = [ "storage" "webRequest" "notifications" "scripting" "https://*.fandom.com/*" "https://*.fextralife.com/*" "https://*.neoseeker.com/*" "https://breezewiki.com/*" "https://antifandom.com/*" "https://bw.artemislena.eu/*" "https://breezewiki.catsarch.com/*" "https://breezewiki.esmailelbob.xyz/*" "https://breezewiki.frontendfriendly.xyz/*" "https://bw.hamstro.dev/*" "https://breeze.hostux.net/*" "https://breezewiki.hyperreal.coffee/*" "https://breeze.mint.lgbt/*" "https://breezewiki.nadeko.net/*" "https://nerd.whatever.social/*" "https://breeze.nohost.network/*" "https://z.opnxng.com/*" "https://bw.projectsegfau.lt/*" "https://breezewiki.pussthecat.org/*" "https://bw.vern.cc/*" "https://breeze.whateveritworks.org/*" "https://breezewiki.woodland.cafe/*" "https://*.bing.com/search*" "https://search.brave.com/search*" "https://*.duckduckgo.com/*" "https://*.ecosia.org/*" "https://kagi.com/search*" "https://*.qwant.com/*" "https://*.search.yahoo.com/*" "https://*.startpage.com/*" "https://*.ya.ru/*" "https://*.yandex.az/*" "https://*.yandex.by/*" "https://*.yandex.co.il/*" "https://*.yandex.com.am/*" "https://*.yandex.com.ge/*" "https://*.yandex.com.tr/*" "https://*.yandex.com/*" "https://*.yandex.ee/*" "https://*.yandex.eu/*" "https://*.yandex.fr/*" "https://*.yandex.kz/*" "https://*.yandex.lt/*" "https://*.yandex.lv/*" "https://*.yandex.md/*" "https://*.yandex.ru/*" "https://*.yandex.tj/*" "https://*.yandex.tm/*" "https://*.yandex.uz/*" "https://www.google.com/search*" "https://www.google.ad/search*" "https://www.google.ae/search*" "https://www.google.com.af/search*" "https://www.google.com.ag/search*" "https://www.google.com.ai/search*" "https://www.google.al/search*" "https://www.google.am/search*" "https://www.google.co.ao/search*" "https://www.google.com.ar/search*" "https://www.google.as/search*" "https://www.google.at/search*" "https://www.google.com.au/search*" "https://www.google.az/search*" "https://www.google.ba/search*" "https://www.google.com.bd/search*" "https://www.google.be/search*" "https://www.google.bf/search*" "https://www.google.bg/search*" "https://www.google.com.bh/search*" "https://www.google.bi/search*" "https://www.google.bj/search*" "https://www.google.com.bn/search*" "https://www.google.com.bo/search*" "https://www.google.com.br/search*" "https://www.google.bs/search*" "https://www.google.bt/search*" "https://www.google.co.bw/search*" "https://www.google.by/search*" "https://www.google.com.bz/search*" "https://www.google.ca/search*" "https://www.google.cd/search*" "https://www.google.cf/search*" "https://www.google.cg/search*" "https://www.google.ch/search*" "https://www.google.ci/search*" "https://www.google.co.ck/search*" "https://www.google.cl/search*" "https://www.google.cm/search*" "https://www.google.cn/search*" "https://www.google.com.co/search*" "https://www.google.co.cr/search*" "https://www.google.com.cu/search*" "https://www.google.cv/search*" "https://www.google.com.cy/search*" "https://www.google.cz/search*" "https://www.google.de/search*" "https://www.google.dj/search*" "https://www.google.dk/search*" "https://www.google.dm/search*" "https://www.google.com.do/search*" "https://www.google.dz/search*" "https://www.google.com.ec/search*" "https://www.google.ee/search*" "https://www.google.com.eg/search*" "https://www.google.es/search*" "https://www.google.com.et/search*" "https://www.google.fi/search*" "https://www.google.com.fj/search*" "https://www.google.fm/search*" "https://www.google.fr/search*" "https://www.google.ga/search*" "https://www.google.ge/search*" "https://www.google.gg/search*" "https://www.google.com.gh/search*" "https://www.google.com.gi/search*" "https://www.google.gl/search*" "https://www.google.gm/search*" "https://www.google.gr/search*" "https://www.google.com.gt/search*" "https://www.google.gy/search*" "https://www.google.com.hk/search*" "https://www.google.hn/search*" "https://www.google.hr/search*" "https://www.google.ht/search*" "https://www.google.hu/search*" "https://www.google.co.id/search*" "https://www.google.ie/search*" "https://www.google.co.il/search*" "https://www.google.im/search*" "https://www.google.co.in/search*" "https://www.google.iq/search*" "https://www.google.is/search*" "https://www.google.it/search*" "https://www.google.je/search*" "https://www.google.com.jm/search*" "https://www.google.jo/search*" "https://www.google.co.jp/search*" "https://www.google.co.ke/search*" "https://www.google.com.kh/search*" "https://www.google.ki/search*" "https://www.google.kg/search*" "https://www.google.co.kr/search*" "https://www.google.com.kw/search*" "https://www.google.kz/search*" "https://www.google.la/search*" "https://www.google.com.lb/search*" "https://www.google.li/search*" "https://www.google.lk/search*" "https://www.google.co.ls/search*" "https://www.google.lt/search*" "https://www.google.lu/search*" "https://www.google.lv/search*" "https://www.google.com.ly/search*" "https://www.google.co.ma/search*" "https://www.google.md/search*" "https://www.google.me/search*" "https://www.google.mg/search*" "https://www.google.mk/search*" "https://www.google.ml/search*" "https://www.google.com.mm/search*" "https://www.google.mn/search*" "https://www.google.ms/search*" "https://www.google.com.mt/search*" "https://www.google.mu/search*" "https://www.google.mv/search*" "https://www.google.mw/search*" "https://www.google.com.mx/search*" "https://www.google.com.my/search*" "https://www.google.co.mz/search*" "https://www.google.com.na/search*" "https://www.google.com.ng/search*" "https://www.google.com.ni/search*" "https://www.google.ne/search*" "https://www.google.nl/search*" "https://www.google.no/search*" "https://www.google.com.np/search*" "https://www.google.nr/search*" "https://www.google.nu/search*" "https://www.google.co.nz/search*" "https://www.google.com.om/search*" "https://www.google.com.pa/search*" "https://www.google.com.pe/search*" "https://www.google.com.pg/search*" "https://www.google.com.ph/search*" "https://www.google.com.pk/search*" "https://www.google.pl/search*" "https://www.google.pn/search*" "https://www.google.com.pr/search*" "https://www.google.ps/search*" "https://www.google.pt/search*" "https://www.google.com.py/search*" "https://www.google.com.qa/search*" "https://www.google.ro/search*" "https://www.google.ru/search*" "https://www.google.rw/search*" "https://www.google.com.sa/search*" "https://www.google.com.sb/search*" "https://www.google.sc/search*" "https://www.google.se/search*" "https://www.google.com.sg/search*" "https://www.google.sh/search*" "https://www.google.si/search*" "https://www.google.sk/search*" "https://www.google.com.sl/search*" "https://www.google.sn/search*" "https://www.google.so/search*" "https://www.google.sm/search*" "https://www.google.sr/search*" "https://www.google.st/search*" "https://www.google.com.sv/search*" "https://www.google.td/search*" "https://www.google.tg/search*" "https://www.google.co.th/search*" "https://www.google.com.tj/search*" "https://www.google.tl/search*" "https://www.google.tm/search*" "https://www.google.tn/search*" "https://www.google.to/search*" "https://www.google.com.tr/search*" "https://www.google.tt/search*" "https://www.google.com.tw/search*" "https://www.google.co.tz/search*" "https://www.google.com.ua/search*" "https://www.google.co.ug/search*" "https://www.google.co.uk/search*" "https://www.google.com.uy/search*" "https://www.google.co.uz/search*" "https://www.google.com.vc/search*" "https://www.google.co.ve/search*" "https://www.google.vg/search*" "https://www.google.co.vi/search*" "https://www.google.com.vn/search*" "https://www.google.vu/search*" "https://www.google.ws/search*" "https://www.google.rs/search*" "https://www.google.co.za/search*" "https://www.google.co.zm/search*" "https://www.google.co.zw/search*" "https://www.google.cat/search*" ]; platforms = platforms.all; }; }; "ipfs-companion" = buildFirefoxXpiAddon { pname = "ipfs-companion"; version = "3.1.0"; addonId = "ipfs-firefox-addon@lidel.org"; url = "https://addons.mozilla.org/firefox/downloads/file/4172699/ipfs_companion-3.1.0.xpi"; sha256 = "784f6d1e0497d86f1e42cfe7de8548b5cc28fabe80e50771d90f59ddf1b9d3c1"; meta = with lib; { homepage = "https://github.com/ipfs/ipfs-companion"; description = "Harness the power of IPFS in your browser"; license = licenses.cc0; mozPermissions = [ "idle" "tabs" "notifications" "proxy" "storage" "unlimitedStorage" "contextMenus" "clipboardWrite" "webNavigation" "webRequest" "webRequestBlocking" ]; platforms = platforms.all; }; }; "languagetool" = buildFirefoxXpiAddon { pname = "languagetool"; version = "8.13.2"; addonId = "languagetool-webextension@languagetool.org"; url = "https://addons.mozilla.org/firefox/downloads/file/4396724/languagetool-8.13.2.xpi"; sha256 = "e8a93ca046df390aaafeb7ba86254505ed3c593371c1f9e5af6892018d12de66"; meta = with lib; { homepage = "https://languagetool.org"; description = "With this extension you can check text with the free style and grammar checker LanguageTool. It finds many errors that a simple spell checker cannot detect, like mixing up there/their, a/an, or repeating a word."; mozPermissions = [ "activeTab" "storage" "contextMenus" "alarms" "http://*/*" "https://*/*" "file:///*" "*://docs.google.com/document/*" "*://docs.google.com/presentation/*" "*://languagetool.org/*" ]; platforms = platforms.all; }; }; "metamask" = buildFirefoxXpiAddon { pname = "metamask"; version = "12.6.2"; addonId = "webextension@metamask.io"; url = "https://addons.mozilla.org/firefox/downloads/file/4392249/ether_metamask-12.6.2.xpi"; sha256 = "ca7b385559d7469ccca0454323f92f63d3aef5d68c504a46f818eb59bd735c74"; meta = with lib; { description = "Ethereum Browser Extension"; mozPermissions = [ "storage" "unlimitedStorage" "clipboardWrite" "http://*/*" "https://*/*" "activeTab" "webRequest" "webRequestBlocking" "*://*.eth/" "notifications" "file://*/*" "*://connect.trezor.io/*/popup.html*" ]; platforms = platforms.all; }; }; "no-pdf-download" = buildFirefoxXpiAddon { pname = "no-pdf-download"; version = "1.0.6"; addonId = "{b9b25e4a-bdf4-4270-868c-3f619eaf437d}"; url = "https://addons.mozilla.org/firefox/downloads/file/3020560/no_pdf_download-1.0.6.xpi"; sha256 = "fa27b6729178a23ccf2eee07cd7650d841fc6040f2e5adfb919931b671ed79e6"; meta = with lib; { homepage = "https://github.com/MorbZ/no-pdf-download"; description = "Opens all PDF files directly in the browser."; license = licenses.mit; mozPermissions = [ "webRequest" "webRequestBlocking" "" ]; platforms = platforms.all; }; }; "plasma-integration" = buildFirefoxXpiAddon { pname = "plasma-integration"; version = "1.9.1"; addonId = "plasma-browser-integration@kde.org"; url = "https://addons.mozilla.org/firefox/downloads/file/4298512/plasma_integration-1.9.1.xpi"; sha256 = "394a3525185679dd5430d05f980ab6be19d96557560fe86208c21a8807669b33"; meta = with lib; { homepage = "http://kde.org"; description = "Multitask efficiently by controlling browser functions from the Plasma desktop."; license = licenses.gpl3; mozPermissions = [ "nativeMessaging" "notifications" "storage" "downloads" "tabs" "" "contextMenus" "*://*/*" ]; platforms = platforms.all; }; }; "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 = "http://einaregilsson.com/redirector/"; description = "Automatically redirects to user-defined urls on certain pages"; license = licenses.mit; mozPermissions = [ "webRequest" "webRequestBlocking" "webNavigation" "storage" "tabs" "http://*/*" "https://*/*" "notifications" ]; platforms = platforms.all; }; }; "rikaichamp" = buildFirefoxXpiAddon { pname = "rikaichamp"; version = "1.22.0"; addonId = "{59812185-ea92-4cca-8ab7-cfcacee81281}"; url = "https://addons.mozilla.org/firefox/downloads/file/4371439/10ten_ja_reader-1.22.0.xpi"; sha256 = "d6f3197b7e3383f2723b9376d93e03fe515e5c610f9c0723d9618b10d3cc4bf1"; meta = with lib; { homepage = "https://github.com/birchill/10ten-ja-reader/"; description = "Quickly translate Japanese by hovering over words. Formerly released as Rikaichamp."; license = licenses.gpl3; mozPermissions = [ "alarms" "clipboardWrite" "contextMenus" "storage" "unlimitedStorage" "http://*/*" "https://*/*" "file:///*" "https://docs.google.com/*" ]; 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; }; }; "switchyomega" = buildFirefoxXpiAddon { pname = "switchyomega"; version = "2.5.10"; addonId = "switchyomega@feliscatus.addons.mozilla.org"; url = "https://addons.mozilla.org/firefox/downloads/file/848109/switchyomega-2.5.10.xpi"; sha256 = "dfefc2da59eeb2e92a32fc75fb05426feeea4c39ee01b7a797395ed29ed7cf77"; meta = with lib; { homepage = "https://github.com/FelisCatus/SwitchyOmega"; description = "Manage and switch between multiple proxies quickly & easily."; license = licenses.gpl3; mozPermissions = [ "proxy" "tabs" "alarms" "storage" "webRequest" "downloads" "webRequestBlocking" "contextMenus" "http://*/*" "https://*/*" "" ]; platforms = platforms.all; }; }; "ublock-origin" = buildFirefoxXpiAddon { pname = "ublock-origin"; version = "1.61.2"; addonId = "uBlock0@raymondhill.net"; url = "https://addons.mozilla.org/firefox/downloads/file/4391011/ublock_origin-1.61.2.xpi"; sha256 = "ee3a724a46ff32c17d1723077fecc6ede7fdab742154020b51fb6253ddcbba14"; meta = with lib; { homepage = "https://github.com/gorhill/uBlock#ublock-origin"; description = "Finally, an efficient wide-spectrum content blocker. Easy on CPU and memory."; license = licenses.gpl3; mozPermissions = [ "alarms" "dns" "menus" "privacy" "storage" "tabs" "unlimitedStorage" "webNavigation" "webRequest" "webRequestBlocking" "" "http://*/*" "https://*/*" "file://*/*" "https://easylist.to/*" "https://*.fanboy.co.nz/*" "https://filterlists.com/*" "https://forums.lanik.us/*" "https://github.com/*" "https://*.github.io/*" "https://github.com/uBlockOrigin/*" "https://ublockorigin.github.io/*" "https://*.reddit.com/r/uBlockOrigin/*" ]; platforms = platforms.all; }; }; "user-agent-switcher" = buildFirefoxXpiAddon { pname = "user-agent-switcher"; version = "0.5.0"; addonId = "{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7}"; url = "https://addons.mozilla.org/firefox/downloads/file/4098688/user_agent_string_switcher-0.5.0.xpi"; sha256 = "9dc8da3c8c46d4f04d12fd789c63501fa6a2f502f859b286939a090db63eae33"; meta = with lib; { homepage = "http://add0n.com/useragent-switcher.html"; description = "Spoof websites trying to gather information about your web navigation—like your browser type and operating system—to deliver distinct content you may not want."; license = licenses.mpl20; mozPermissions = [ "storage" "" "webNavigation" "webRequest" "webRequestBlocking" "contextMenus" "*://*/*" ]; platforms = platforms.all; }; }; "violentmonkey" = buildFirefoxXpiAddon { pname = "violentmonkey"; version = "2.29.0"; addonId = "{aecec67f-0d10-4fa7-b7c7-609a2db280cf}"; url = "https://addons.mozilla.org/firefox/downloads/file/4398029/violentmonkey-2.29.0.xpi"; sha256 = "2edf39a824476b8a77a57c7c3abdaf3f685a679486e47450fab837b4bd71d469"; meta = with lib; { homepage = "https://violentmonkey.github.io/"; description = "Userscript support for browsers, open source."; license = licenses.mit; mozPermissions = [ "tabs" "" "webRequest" "webRequestBlocking" "notifications" "storage" "unlimitedStorage" "clipboardWrite" "contextMenus" "cookies" ]; platforms = platforms.all; }; }; }