- 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
45 lines
No EOL
1.5 KiB
Markdown
45 lines
No EOL
1.5 KiB
Markdown
# Firefox Configuration
|
|
|
|
**User:** jsutter
|
|
**Config:** `users/jsutter.nix` → `programs.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
|
|
```bash
|
|
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 |