Skip to content

denis-g/firefox-user.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

54 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Firefox user.js

Last tested Firefox Updated Date
Firefox Preview


๐Ÿ”น user.js

The Firefox user.js file stores user settings. This a convenient way to save your browser customizations and apply them on different machines. All settings are based on arkenfox/user.js by default and override settings for sites to normal work.

user-overrides.js

  • Disabled Firefox Accounts & Sync, built-in extensions
  • Basically settings for security and usable in daily use
  • Allow cross-logins, basic cookie policy
  • Enabled saving session, keep logins and site data
  • Disabled unused Web APIs and preset for permissions
  • UI/UX settings
  • Locale settings
  • New Tab page, tabs, findbar, bookmarks configuration

๐Ÿ”น chrome

Firefox supports advanced customization of its UI with user-defined CSS. A userChrome.css file affects the browser's UI, and userContent.css file affects the browser's content, which is all Firefox-specific pages (about:).

chrome/userChrome.css

  • Added icon for sound-playing tab (animated)
  • Auto-hide bookmarks toolbar
  • Floating findbar on top
  • Hide "All Tabs" button
  • Hide search engines from the search/url bar
  • Iconized main menu
  • Reduce space for tabs
  • Show tab close button on hover

chrome/userContent.css

  • Theme-based styles for Newtab page
  • Multi-column for Addons page

๐Ÿ”น Apply Configuration

Better choice - apply script with an empty profile. The script generates a new user.js configuration file with custom settings and overrides the user.js file and chrome directory (if they were) into Firefox profile. The file is loaded each time Firefox starts.

You can also change the values or add new ones on configuration files into the user.js-overrides directory or added your configuration js-file. Merging files in alphabetical order by default.

๐Ÿ›‘ Backup your profile and close Firefox before running the script!

macOS, Linux

1. Clone repo:

git clone git@github.com:denis-g/firefox-settings.git
cd firefox-settings

2. Set your Firefox profile path on FIREFOX_PROFILE variable inside config.ini file.

Example config:

Go to about:profiles page and copy Root Directory path.

# macOS
# FIREFOX_PROFILE="/Users/denis-g/Library/Application Support/Firefox/Profiles/XXXXXXXX.profile_name"

# Linux
# FIREFOX_PROFILE="/home/denis-g/.mozilla/firefox/XXXXXXXX.profile_name"

FIREFOX_PROFILE="/Users/denis-g/Library/Application Support/Firefox/Profiles/dfk39fj39.default-nightly"

3. ...and run main script:

sh setup.sh

Windows

1. Use Git as above, download zip-archive, or execute commands on PowerShell:

# download this repo
Invoke-WebRequest "https://github.com/denis-g/firefox-user.js/archive/refs/heads/master.zip" -OutFile "$HOME\Downloads\firefox-settings.zip"
Expand-Archive "$HOME\Downloads\firefox-settings.zip" -DestinationPath "$HOME\Downloads\" -Force
# open directory
explorer "$HOME\Downloads\firefox-settings-master"

This will upload repo into your Downloads\firefox-settings-master directory.

2. Set your Firefox profile path on FIREFOX_PROFILE variable inside config.ini file.

Example config:

Go to about:profiles page and copy Root Directory path.

# Windows
# FIREFOX_PROFILE="C:\Users\denis-g\AppData\Roaming\Mozilla\Firefox\Profiles\XXXXXXXX.profile_name"

FIREFOX_PROFILE="C:\Users\denis-g\AppData\Roaming\Mozilla\Firefox\Profiles\dfk39fj39.default-nightly"

3. ...and run main script setup.bat.


๐Ÿ”น Update

  • Close Firefox
  • Execute setup.sh or setup.bat script, like as above
  • Run Firefox
  • On about:config page execute the cleanup script

๐Ÿ”น Potential Problems

  • By default push and web notifications is disabled - site can't send desktop notifications for Firefox.

๐Ÿ”น Must-have Addons


๐Ÿ”น References