`firefox`: Simplify config
Lehmanator opened this issue · comments
Sam Lehman commented
Make Firefox config less complex & reduce number of files config is spread across.
Goals
- Minimal updating of extension package hashes/versions.
home-manager
config works as standalone (on non-NixOS systems)home-manager
inherits/overrides system config.- Profiles:
base
(to be extended by all other profiles) - Profiles:
gnome
,kde
that use DE-specific settings & styles. - Profiles:
default
(to match profile of current desktop) - Profiles:
hardened
(default
+ hardening settings that might be inconvenient to use in default profile) - Profiles:
tor-browser
(match Tor browser settings)
Profile Features
Default Profile
- Match profile of current desktop environment.
- Librewolf-like default config.
- Extensions installed by default.
- Disable all "Suggestions" & other annoying 3rd-party shit.
- Adapt to light/dark mode.
- Wayland by default.
- Sidebery tree tab sidebar auto-collapse/expand.
- Configure default bookmarks, search engines, settings, extensions.
Desktop-specific Profiles
- UserChrome theme to match toolkit styles.
- UserChrome themes for extensions to match toolkit styles.
- UserChrome themes recolor according to desktop wallpaper?
- UserContent themes recolor according to desktop wallpaper?
- Enable nativeHostExtensions
Extensions
adnauseum
|ublock-origin
(ad-blocking)behind-the-overlay-revival
(click to dismiss all overlay popups that block content)bitwarden
|browserpass
|gopass-bridge
|keepassxc-browser
|passff
(password manager & autofill)buster-captcha-solver
(auto-solve captchas)bypass-paywalls-clean
|unpaywall
(bypass paywalls for content)cliget
(allow using FF to login on behalf of CLI programs)cookies-txt
(export cookies for usage in other programs)copy-selected-tabs-to-clipboard
|export-tabs-urls-and-titles
(tab link saving)don-t-fuck-with-paste
|re-enable-right-click
(prevent sites from blocking copy/paste)fastforwardteam
(skip tracking via URL shorteners)firemonkey
|violentmonkey
(userScripts
)fx_cast
(Chromecast Web Sender SDK implementation for FF)hover-zoom-plus
|imagus
(zoom image thumbnails)ipfs-companion
link-gopher
(Extract all links from webpage, sort, dedup, & display in new tab)offline-qr-code-generator
omnisearch
(Supercharge Firefox with commands, shortcuts, and more)overbitewx
(Open Gopher protocol in FF. Requires Floodgap Public Gopher Proxy)profile-switcher
(Create, manage, switch b/w browser profiles)search-engines-helper
sidebery
(Tree style tab sidebar)sponsorblock
tab-counter-plus
tab-session-manager
|tab-stash
wayback-machine
|web-archives
Desktop Integration
ff2mpv
(Play audio/video inmpv
with native client)firenvim
(FF into Neovim client)gnome-shell-integration
(Useextensions.gnome.org
)gsconnect
(GSConnect)plasma-integration
pywalfox
(Dynamic theming using Pywal colors)textern
(Edit text in favorite external text editor)tridactyl
(Vim in browser)vim-vixen
|vimium
|vimium-c
Downloading
markdownload
(Web clipper in Markdown using Turndown & Readability.js)video-downloadhelper
Developer
enhanced-github
|octotree
|refined-github
(GitHub QoL improvements)laboratory-by-mozilla
(Generate Content Security Policy (CSP) headers for your sites)lovely-forks
(Show GitHub forks)penetration-testing-kit
react-devtools
reduxdevtools
rust-search-extension
sourcegraph
(add code intelligence to GitHub, GitLab, ...)vue-js-devtools
wappalyzer
widegithub
Language / Translation
immersive-translate
inkah
(Lookup Chinese/Korean words)lingq-importer2
(Auto import foreign language pages, videos, etc. from web & study w/ LingQ's web/mobile apps)simple-translate
(Translate selected text using DeepL API or Google Translate)to-deepl
Privacy
consent-o-matic
(auto dismiss consent popups & minimal acceptance)decentraleyes
|localcdn
(cache CDN assets)disable-javascript
|noscript
(disable JS)libredirect
(Redirect shitty services to FOSS frontend proxies)mullvad
(VPN browser extension)multi-account-containers
open-url-in-container
privacy-pass
(privacy-pass anonymous auth protocol support)privacy-possum
(Reduces / falsifies tracking data)private-relay
(Generate email address aliases that forward to your real inbox)skip-redirect
smart-referer
(limit request referer headers)temporary-containers
terms-of-service-didnt-read
ubo-scope
(Measure 3rd-party exposure)umatrix
user-agent-string-switcher
Syncing
floccus
(Bookmark sync via Nextcloud / WebDAV)wallabagger
(sync w/ wallabag)xbrowsersync
Theming
automatic-dark
|dark-mode-webextension
|dark-mode-website-switcher
|darkreader
(dark mode)aw-watcher-web
(provide browser status, history, etc. toActivityWatch
)stylus
(customuserContent
CSS styles)
Unpackaged Extensions
Missing from rycee's NUR repo.
- Adaptive Tab Bar Colour
- CanvasBlocker (block reading fingerprint data from
canvas
elements) - Privacy.com (generate unique credit card numbers)
- Tab Preview on Hover
Options
NixOS Options
programs.firefox.policies
programs.firefox.preferences
programs.firefox.preferencesStatus
programs.firefox.autoConfig
home-manager Options
programs.firefox.policies
programs.firefox.profiles.<name>.extensions
programs.firefox.profiles.<name>.settings
(Nix-baseduser.js
attrs)programs.firefox.profiles.<name>.extraConfig
(Rawuser.js
lines)