nixos/context/firefox.md
Julian Sutter 449510c746 Reorganize Firefox configuration and repository documentation
- Configure Firefox with privacy settings and extensions (Bitwarden, Plasma Integration, MetaMask, Kagi Search, uBlock Origin)
- Set Kagi as default/only search engine
- Add MOZ_USE_XINPUT2=1 for smooth scrolling
- Create context/ directory for concise unit documentation
- Create tests/ directory for test scripts
- Move test-firefox-config.sh to tests/
- Update agents.md with documentation workflow guidelines
- Fix syntax errors in desktop.nix and dev.nix
2026-02-16 23:08:48 -08:00

1.5 KiB

Firefox Configuration

User: jsutter
Config: users/jsutter.nixprograms.firefox

Extensions (Force Installed)

  • uBlock Origin - Ad blocker
  • Bitwarden - Password manager
  • Plasma Integration - KDE integration
  • MetaMask - Web3 wallet
  • Kagi Search - Default/only search engine

Key Settings

  • Search: Kagi only (all other engines removed)
  • Homepage: Blank page (about:blank)
  • Privacy: Strict content blocking, Do Not Track, fingerprinting resistance
  • Telemetry: Disabled
  • Permissions: Block location/notifications/autoplay/VR requests
  • Tabs: Ctrl+Tab cycles in recent order, hover previews disabled
  • Performance: Hardware acceleration enabled, smooth scrolling via MOZ_USE_XINPUT2=1

Build & Test

nixos-rebuild build --flake .#framework
./tests/test-firefox-config.sh
sudo nixos-rebuild switch --flake .

Manual Setup Required

  • Sign in to Bitwarden
  • Sign in to MetaMask
  • Sign in to Kagi (for full features)
  • Set zoom per device in about:config:
    • Framework: layout.css.devPixelsPerPx = 1.1 (110%)
    • Aurora: layout.css.devPixelsPerPx = 1.2 (120%)

Verification

  • about:policies - Check policies are active
  • about:preferences#privacy - Verify privacy settings
  • Extensions auto-install on first Firefox launch

Notes

  • Extensions cannot be uninstalled (force installed via policy)
  • Settings are declarative and persist across updates
  • Title bar hiding requires manual UserChrome.css if desired