Chapter 20. Configure Firefox
-
Make Firefox the default
If necessary:
sudo update-alternatives --set gnome-www-browser /usr/bin/firefox -
Set Firefox interface font
Firefox may be using the GTK3 system font, so consider trying that. Firefox will also use userChrome.css, so that's the most reliable way.
mkdir -p ~/.config/mozilla/firefox/blahblah.default/chromecp ~/Dropbox/Basic/new_machine/linux/firefox/userChrome.css ~/.config/mozilla/firefox/blahblah.default/chromeNote that this will have no effect unless
toolkit.legacyUserProfileCustomizations.stylesheetsis enabled. This is done by the user.js preference file in the next step. -
Configuration
Copy preference file to profile.
cp ~/Dropbox/Basic/new_machine/linux/firefox/user.js ~/.config/mozilla/firefox/PROFILE_DIR/Note
~/.config/mozilla/firefox/PROFILE_DIR/user.jssource:// Mozilla User Preferences // user.js overrides user_pref("app.update.auto", false); user_pref("app.update.suppressPrompts", true); user_pref("browser.aboutConfig.showWarning", false); user_pref("browser.ai.control.default", "blocked"); user_pref("browser.ai.control.linkPreviewKeyPoints", "blocked"); user_pref("browser.ai.control.pdfjsAltText", "blocked"); user_pref("browser.ai.control.sidebarChatbot", "blocked"); user_pref("browser.ai.control.smartTabGroups", "blocked"); user_pref("browser.ai.control.smartWindow", "blocked"); user_pref("browser.ai.control.translations", "blocked"); user_pref("browser.bookmarks.addedImportButton", false); user_pref("browser.bookmarks.addedImportButton", false); user_pref("browser.bookmarks.restore_default_bookmarks", false); user_pref("browser.enable_automatic_image_resizing", false); user_pref("browser.link.open_newwindow.restriction", 0); user_pref("browser.ml.chat.enabled", false); user_pref("browser.ml.chat.hideLocalhost", false); user_pref("browser.ml.chat.menu", false); user_pref("browser.ml.chat.page", false); user_pref("browser.ml.chat.page.footerBadge", false); user_pref("browser.ml.chat.page.menuBadge", false); user_pref("browser.ml.chat.sidebar", false); user_pref("browser.ml.enable", false); user_pref("browser.ml.linkPreview.enabled", false); user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); user_pref("browser.newtabpage.enabled", false); user_pref("browser.search.context.loadInBackground", true); user_pref("browser.settings-redesign.promo.dismissed", true); user_pref("browser.smartwindow.memories.generateFromConversation", false); user_pref("browser.smartwindow.memories.generateFromHistory", false); user_pref("browser.startup.homepage", "chrome://browser/content/blanktab.html"); user_pref("browser.startup.page", 3); user_pref("browser.tabs.dragDrop.createGroup.enabled", false); user_pref("browser.tabs.groups.smart.enabled", false); user_pref("browser.tabs.groups.smart.userEnabled", false); user_pref("browser.termsofuse.prefMigrationCheck", true); user_pref("browser.toolbarbuttons.introduced.sidebar-button", true); user_pref("browser.translations.enable", false); user_pref("browser.uiCustomization.state", "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"sidebar-button\",\"back-button\",\"forward-button\",\"stop-reload-button\",\"customizableui-special-spring1\",\"vertical-spacer\",\"urlbar-container\",\"customizableui-special-spring2\",\"downloads-button\",\"fxa-toolbar-menu-button\",\"unified-extensions-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"firefox-view-button\",\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"vertical-tabs\":[],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"]},\"seen\":[\"developer-button\",\"screenshot-button\"],\"dirtyAreaCache\":[\"nav-bar\",\"vertical-tabs\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\"],\"currentVersion\":23,\"newElementCount\":2}"); user_pref("browser.urlbar.placeholderName", "DuckDuckGo"); user_pref("browser.urlbar.placeholderName.private", "DuckDuckGo"); user_pref("browser.urlbar.shortcuts.actions", false); user_pref("browser.urlbar.shortcuts.bookmarks", false); user_pref("browser.urlbar.shortcuts.history", false); user_pref("browser.urlbar.shortcuts.tabs", false); user_pref("browser.urlbar.showSearchTerms.enabled", false); user_pref("browser.urlbar.suggest.engines", false); user_pref("browser.urlbar.suggest.history", false); user_pref("browser.urlbar.suggest.quickactions", false); user_pref("browser.urlbar.suggest.quicksuggest.all", false); user_pref("browser.urlbar.suggest.searches", false); user_pref("browser.urlbar.suggest.topsites", false); user_pref("datareporting.healthreport.uploadEnabled", false); user_pref("datareporting.usage.uploadEnabled", false); user_pref("dom.webnotifications.enabled", false); user_pref("extensions.formautofill.creditCards.enabled", false); user_pref("extensions.ml.enabled", false); user_pref("layout.spellcheckDefault", 0); user_pref("network.dns.disablePrefetch", true); user_pref("network.http.speculative-parallel-limit", 0); user_pref("network.prefetch-next", false); user_pref("nimbus.rollouts.enabled", false); user_pref("pdfjs.enableAltText", false); user_pref("privacy.globalprivacycontrol.enabled", true); user_pref("privacy.globalprivacycontrol.was_ever_enabled", true); user_pref("telemetry.fog.init_on_shutdown", false); user_pref("trailhead.firstrun.didSeeAboutWelcome", true); -
Sync
Set up Firefox sync.
-
Reclaim the home page
Changing new windows and tabs to use a blank page, and, just in case, turning off the privacy-compromising settings in Firefox Home Content. TODO: try to get all of these settings into user.js
-
Go through config and disable all of the bad settings, including (as of 2025-09):
-
Use AI to suggest tabs and a name for tab groups OFF
-
Play DRM-controlled content OFF
-
¿Enable link previews?
-
For Search, change engine to DuckDuckGo, disable suggestions, turn off most of Firefox Suggest, disable the worst search engines
-
In Privacy & Security, turn off Send Technical and interaction data to Mozilla and related. Make sure Allow websites to perform privacy-preserving ad measurement is OFF.
-
-
Note that Firefox tends to spam syslog, so we installed
auditdalong with the other debian packages; it segregates all apparmor messages and calms down the logs. -
Install Extensions
Extensions may come over automatically from sync, but this is inconsistent. If necessary, load them manually: Ctrl+Shift+A
-
UBlock Origin
-
Unhook (youtube comments)
-
Noscript
-
Firefox Multi-Account Containers
-
Tree Style Tab (laptop only)
-
-
TODOs for Firefox
-
Is firefox using hardware accel for video? See e.g. GPU acceleration for Firefox
-