My tailor-fitted, highly customized, and advanced Firefox Firefox ESR configuration.
[!NOTE] This repository is not meant to be used as a whole but rather as a reference for my own configuration. I do not recommend using it as is, as it is not meant to be used by anyone else. I do not provide any support for this repository. If you want to use it, you are on your own.
For other experimental features, check out the other branches of this repository.
[!IMPORTANT] Firefox occasionally changes its codebase, which may break some of the configurations on newer versions of Firefox. I try to keep this repository updated, but I cannot guarantee that everything will work as expected. To deal with it yourself, refer to the Customizing Firefox section. To minimize such issues, you may consider using Firefox ESR.
[!TIP] Customizing Firefox: For detailed guidance on customizing Firefox to suit your needs, refer to the Customizing Firefox section. TL;DR: To find and inspect browser's selectors see: Browser Toolbox.
Disable Telemetry and Data Collection: Ensure that all telemetry and data collection features are turned off in Firefox. You can use my
user.js
as a reference, and explore otheruser.js
files and hardened Firefox configurations for additional security.Cookie Management: With cookie isolation enabled, clearing cookies may be less effective. Instead, consider using temporary containers for better privacy.
JPEG XL (JXL): Firefox 128 now supports JPEG XL images. You can use the JPEG XL format for images to save bandwidth and improve loading times. It is available as
image.jxl.enabled
inabout:config
preference. You can enable it by setting it totrue
. Note that it is currently an experimental feature in Firefox 128+.
For Window Controls at the bottom check this branch: #bottom-window-control-buttons-dev. Note that this feature is highly experimental as I don't use it actively.
userChrome.css
and userContent.css
Enable userChrome.css
and userContent.css
support in Firefox:
about:config
and click the "Accept the Risk and Continue" button.toolkit.legacyUserProfileCustomizations.stylesheets
.toolkit.legacyUserProfileCustomizations.stylesheets
entry to set its value to true
.Both user.js
and chrome
files should be placed in the following locations depending on your operating system:
OS | Location |
---|---|
Linux | ~/.mozilla/firefox/<profile_ID>.default/ |
Windows | %APPDATA%\Mozilla\Firefox\Profiles\<profile_ID>.default/ |
macOS | ~/Library/Application Support/Firefox/Profiles/<profile_ID>.default/ |
Replace <profile_ID>
with your Firefox profile ID.
Linux: You can find your default profile in ~/.mozilla/firefox/profiles.ini
OR go to about:support
in Firefox, you'll see your default profile directory in the Profile Directory
section. Click on Open Directory
.
Windows: Your default profile can be found at %APPDATA%\Mozilla\Firefox\Profiles\
. Alternatively, navigate to about:support
in Firefox, and click on Open Folder
next to the Profile Directory
section.
macOS: Locate your default profile in ~/Library/Application Support/Firefox/Profiles/
. Or, go to about:support
in Firefox, and click on Show in Finder
next to the Profile Directory
section.
The theme I'm currently using: RosyBrown Dark by Me
For addons and userscripts configuration, you can find them in the respective directories.
You can find a list of addons I use here. Note that I don't use all of them (not even a third), and many of the addons listed can be replaced by uBlock Origin.
Go to Open application menu > More tools > Customize toolbar...
and make the following changes:
Set Density to Normal
and uncheck Title Bar.
To disable bookmarks toolbar:
userChrome.css
and userContent.css
about:
pages.If you're planning to make multiple and extensive alterations to your UI, learning how to use the Browser Toolbox is essential. It allows you to create modifications to the UI and fix those modifications if a newer version of the Firefox codebase causes issues.
While the Browser Toolbox isn't particularly user-friendly to set up or use initially, perseverance will pay off as it is key to inspecting Firefox's UI. Check out the r/firefoxcss wiki and search the subreddit for specific posts.
Investigate how to use Mozilla's source code indexing tool SearchFox as well.
Most of your "How to" questions can be answered by the Browser Toolbox and SearchFox, though it takes some time to understand them both from scratch.
As an alternative to using the Browser Toolbox and SearchFox, you can explore the wealth of information in subreddits like r/FirefoxCSS (it's tutorials), r/firefox, and r/unixporn. Finding the precisely relevant information often requires diligent searching with a variety of keywords. A useful trick is to search with a section of CSS userstyle, a selector, or a rule related to the UI element you want to modify. You can also look on GitHub, GitLab, and other code hosting sites, or simply use your favorite search engine. There are various articles and blogs online as well. Discord servers like unixporn and matrix rooms like #firefoxcss:mozilla.org can be helpful too.
Look for specific topics on GitHub: userchrome, firefox-css, firefox-tweaks, userchrome-styles, userchromecss.
Look for specific topic on Github Gist: firefox css userchrome
More handy resources: m/FirefoxCSS, Firefox CSS Guidelines, userchrome.org, FirefoxCSS Store, Mozilla Bugzilla, The other guide to CSS hacking.
Misc resources: Overview for beginners and also check List of Firefox CSS Variables.
userChrome.css
devtools.debugger.remote-enabled
to true
in about:config
.devtools.chrome.enabled
to true
in about:config
.userChrome.css
.