X
Tap here to go to the mobile version of the site.

Support Forum

Can I export my settings (about:config)?

Posted

I have gotten used to using Quantum on my work computer, but I've heavily modified settings to make it usable. I've decided to finally bite the bullet and update at home, but I want to make sure my browser is setup the same way as it is at work. I have a copy of my userChrome.css file ready that fixes the UI. I don't want to copy my bookmarks, history, etc. so I don't want to copy the entire profile. I just want to copy the settings: things I tweaked in about:config. Is there a way to export the settings to a file that I can import once I upgrade at home? If there is no direct way to do this, is there at least a file I can copy and do a "diff" between so I can merge in the changes I want to keep?

I have gotten used to using Quantum on my work computer, but I've heavily modified settings to make it usable. I've decided to finally bite the bullet and update at home, but I want to make sure my browser is setup the same way as it is at work. I have a copy of my userChrome.css file ready that fixes the UI. I don't want to copy my bookmarks, history, etc. so I don't want to copy the entire profile. I just want to copy the settings: things I tweaked in about:config. Is there a way to export the settings to a file that I can import once I upgrade at home? If there is no direct way to do this, is there at least a file I can copy and do a "diff" between so I can merge in the changes I want to keep?

Chosen solution

Sorry, no "export" function for about:config prefs.

In your Profile folder there is a file named prefs.js that will contain all the preferences that you changed thru about:config. Problem is that prefs.js also contains many other preferences (like prefs added to Firefox via extensions), and may contain some "hard file paths" which can cause problems when the prefs.js file is copied over to a different Firefox Profile especially on a different computer.

The "trick" is to get ahead of the game; don't change prefs in about:config, but do it via a user.js file that can be safely copied over to a different Profile / computer. http://kb.mozillazine.org/User.js_file

https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data

It is a lot of work to get your base user.js file set up, but it pays off in the long run. Carrying my own user.js file forward (with edits every now and then) since Firefox 0.8 back inn 2004. Just gotta be careful with major changes in Firefox, like with Fx 57, 29, 4.0, 3.6, 3.5, 3.0, and 2.0 - one orphaned or changed pref and Firefox stops reading the user.js file; so you need to be careful as to what prefs you put in that file and the order those prefs are in. Prefs for extensions need to be last in the list, in case an extension "disappears" or isn't undated in a timely manner.

Typically I have 20 to 50 prefs in user.js, depending upon the Profile I use the specific user.js file in. Different types of extensions in different usage Profiles.

Read this answer in context 2

Additional System Details

Installed Plug-ins

  • Shockwave Flash 28.0 r0

Application

  • User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0

More Information

{
"application": {
"name": "Firefox",
"osVersion": "Windows_NT 6.1",
"version": "57.0.2",
"buildID": "20171206182557",
"userAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0",
"safeMode": false,
"updateChannel": "release",
"supportURL": "https://support.mozilla.org/1/firefox/57.0.2/WINNT/en-US/",
"numTotalWindows": 1,
"numRemoteWindows": 1,
"remoteAutoStart": true,
"currentContentProcesses": 5,
"maxContentProcesses": 4,
"autoStartStatus": 1,
"styloBuild": true,
"styloDefault": true,
"styloResult": true,
"keyGoogleFound": true,
"keyMozillaFound": true
},
"lockedPreferences": {},
"media": {
"currentAudioBackend": "wasapi",
"currentMaxAudioChannels": 2,
"currentPreferredChannelLayout": "stereo",
"currentPreferredSampleRate": 48000,
"audioOutputDevices": [
{
"name": "AMD HDMI Output (2- AMD High Definition Audio Device)",
"groupId": "HDAUDIO\\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1002\\5&337386c7&0&0001",
"vendor": "",
"type": 2,
"state": 1,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 0,
"minLatency": 0
},
{
"name": "Speakers / Headphones (Realtek High Definition Audio)",
"groupId": "HDAUDIO\\FUNC_01&VEN_10EC&DEV_0280&SUBSYS_102805A4&REV_1000\\4&a201051&0&0001",
"vendor": "",
"type": 2,
"state": 2,
"preferred": 7,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 480,
"minLatency": 144
},
{
"name": "Internal AUX Jack (LGE Android Phone)",
"groupId": "USB\\VID_1004&PID_6349&MI_00\\7&1a7b4463&0&0000",
"vendor": "",
"type": 2,
"state": 0,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 0,
"defaultRate": 0,
"maxRate": 0,
"minRate": 0,
"maxLatency": 0,
"minLatency": 0
},
{
"name": "AMD HDMI Output (AMD High Definition Audio Device)",
"groupId": "HDAUDIO\\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1002\\5&306e1ccb&0&0001",
"vendor": "",
"type": 2,
"state": 1,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 0,
"minLatency": 0
}
],
"audioInputDevices": [
{
"name": "Line In (Realtek High Definition Audio)",
"groupId": "HDAUDIO\\FUNC_01&VEN_10EC&DEV_0280&SUBSYS_102805A4&REV_1000\\4&a201051&0&0001",
"vendor": "",
"type": 1,
"state": 1,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 44100,
"maxRate": 44100,
"minRate": 44100,
"maxLatency": 0,
"minLatency": 0
},
{
"name": "AMD HDMI Output (AMD High Definition Audio Device)",
"groupId": "HDAUDIO\\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1002\\5&306e1ccb&0&0001",
"vendor": "",
"type": 1,
"state": 0,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 0,
"defaultRate": 0,
"maxRate": 0,
"minRate": 0,
"maxLatency": 0,
"minLatency": 0
},
{
"name": "Stereo Mix (Realtek High Definition Audio)",
"groupId": "HDAUDIO\\FUNC_01&VEN_10EC&DEV_0280&SUBSYS_102805A4&REV_1000\\4&a201051&0&0001",
"vendor": "",
"type": 1,
"state": 0,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 48000,
"maxRate": 48000,
"minRate": 48000,
"maxLatency": 0,
"minLatency": 0
},
{
"name": "AMD HDMI Output (2- AMD High Definition Audio Device)",
"groupId": "HDAUDIO\\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1002\\5&337386c7&0&0001",
"vendor": "",
"type": 1,
"state": 0,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 0,
"defaultRate": 0,
"maxRate": 0,
"minRate": 0,
"maxLatency": 0,
"minLatency": 0
},
{
"name": "Microphone (Realtek High Definition Audio)",
"groupId": "HDAUDIO\\FUNC_01&VEN_10EC&DEV_0280&SUBSYS_102805A4&REV_1000\\4&a201051&0&0001",
"vendor": "",
"type": 1,
"state": 1,
"preferred": 0,
"supportedFormat": 4112,
"defaultFormat": 4096,
"maxChannels": 2,
"defaultRate": 44100,
"maxRate": 44100,
"minRate": 44100,
"maxLatency": 0,
"minLatency": 0
},
]
},
"javaScript": {
"incrementalGCEnabled": true
},
"accessibility": {
"isActive": false,
"forceDisabled": 0,
"handlerUsed": true,
"instantiator": ""
},
"libraryVersions": {
"NSPR": {
"minVersion": "4.17",
"version": "4.17"
},
"NSS": {
"minVersion": "3.33",
"version": "3.33"
},
"NSSUTIL": {
"minVersion": "3.33",
"version": "3.33"
},
"NSSSSL": {
"minVersion": "3.33",
"version": "3.33"
},
"NSSSMIME": {
"minVersion": "3.33",
"version": "3.33"
}
},
"userJS": {
"exists": false
},
"sandbox": {
"contentSandboxLevel": 3,
"effectiveContentSandboxLevel": 3
},
"graphics": {
"numTotalWindows": 1,
"numAcceleratedWindows": 1,
"windowLayerManagerType": "Direct3D 11",
"windowLayerManagerRemote": true,
"windowUsingAdvancedLayers": true,
"adapterDescription": "AMD Radeon(TM) HD8490",
"adapterVendorID": "0x1002",
"adapterDeviceID": "0x6771",
"adapterSubsysID": "21201028",
"adapterRAM": "1024",
"adapterDrivers": "atiu9p64 atiuxp64 atiuxp64 atiu9pag atiuxpag atiuxpag atiumdva atiumd6a atitmm64",
"driverVersion": "12.100.0.0",
"driverDate": "1-15-2013",
"adapterDescription2": "",
"adapterVendorID2": "",
"adapterDeviceID2": "",
"adapterSubsysID2": "",
"adapterRAM2": "",
"adapterDrivers2": "",
"driverVersion2": "",
"driverDate2": "",
"isGPU2Active": false,
"direct2DEnabled": true,
"directWriteEnabled": true,
"directWriteVersion": "6.2.9200.22164",
"offMainThreadPaintEnabled": false,
"webgl1Renderer": "WebGL is currently disabled.",
"webgl1Version": "-",
"webgl1DriverExtensions": "-",
"webgl1Extensions": "-",
"webgl1WSIInfo": "-",
"webgl2Renderer": "WebGL is currently disabled.",
"webgl2Version": "-",
"webgl2DriverExtensions": "-",
"webgl2Extensions": "-",
"webgl2WSIInfo": "-",
"info": {
"AzureCanvasBackend (UI Process)": "skia",
"AzureFallbackCanvasBackend (UI Process)": "cairo",
"AzureContentBackend (UI Process)": "skia",
"AzureCanvasBackend": "Direct2D 1.1",
"AzureContentBackend": "Direct2D 1.1",
"AzureCanvasAccelerated": 0,
"ApzWheelInput": 1,
"ApzDragInput": 1,
"ApzKeyboardInput": 1,
"ApzAutoscrollInput": 1
},
"featureLog": {
"features": [
{
"name": "HW_COMPOSITING",
"description": "Compositing",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "D3D11_COMPOSITING",
"description": "Direct3D11 Compositing",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "DIRECT2D",
"description": "Direct2D",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "D3D11_HW_ANGLE",
"description": "Direct3D11 hardware ANGLE",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "GPU_PROCESS",
"description": "GPU Process",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
}
]
},
{
"name": "WEBRENDER",
"description": "WebRender",
"status": "unavailable",
"log": [
{
"type": "default",
"status": "opt-in",
"message": "WebRender is an opt-in feature"
},
{
"type": "runtime",
"status": "unavailable",
"message": "Build doesn't include WebRender"
}
]
},
{
"name": "ADVANCED_LAYERS",
"description": "Advanced Layers",
"status": "available",
"log": [
{
"type": "default",
"status": "available"
},
{
"type": "user",
"status": "available",
"message": "Enabled for Windows 7 via user-preference"
}
]
}
],
"fallbacks": [
{
"name": "NO_CONSTANT_BUFFER_OFFSETTING",
"message": "Unsupported by driver"
}
]
},
"crashGuards": []
},
"experiments": [],
"extensions": [
{
"name": "Enhancer for YouTube™",
"version": "2.0.55",
"isActive": true,
"id": "enhancerforyoutube@maximerf.addons.mozilla.org"
},
{
"name": "MM3-ProxySwitch",
"version": "2017.491",
"isActive": true,
"id": "ProxySwitch@MM3Tools.com"
},
{
"name": "uBlock Origin",
"version": "1.14.22",
"isActive": true,
"id": "uBlock0@raymondhill.net"
},
{
"name": "Duplicate in Tab Context Menu",
"version": "3.1.0",
"isActive": false,
"id": "DuplicateInTabContext@schuzak.jp"
},
{
"name": "New Tab in Tab Context Menu",
"version": "0.2.1.1-signed.1-signed",
"isActive": false,
"id": "lnew-tab-in-tab-context-menu@gialloporpora.netsons.org"
},
{
"name": "Open in Browser",
"version": "2.5",
"isActive": false,
"id": "openinbrowser@www.spasche.net"
},
{
"name": "ReloadEvery",
"version": "45.0.0",
"isActive": false,
"id": "{888d99e7-e8b5-46a3-851e-1ec45da1e644}"
},
{
"name": "Restart",
"version": "3.0.2",
"isActive": false,
"id": "Restart@schuzak.jp"
},
{
"name": "Toggle Proxy",
"version": "1.9.1-signed.1-signed",
"isActive": false,
"id": "toggleproxy@quirkyquipu.co.uk"
}
],
"features": [
{
"name": "Activity Stream",
"version": "2017.11.07.1100-7f4e3634",
"id": "activity-stream@mozilla.org"
},
{
"name": "Application Update Service Helper",
"version": "2.0",
"id": "aushelper@mozilla.org"
},
{
"name": "Firefox Screenshots",
"version": "19.2.0",
"id": "screenshots@mozilla.org"
},
{
"name": "Follow-on Search Telemetry",
"version": "0.9.6",
"id": "followonsearch@mozilla.com"
},
{
"name": "Form Autofill",
"version": "1.0",
"id": "formautofill@mozilla.org"
},
{
"name": "Multi-process staged rollout",
"version": "3.05",
"id": "e10srollout@mozilla.org"
},
{
"name": "Photon onboarding",
"version": "1.0",
"id": "onboarding@mozilla.org"
},
{
"name": "Pocket",
"version": "1.0.5",
"id": "firefox@getpocket.com"
},
{
"name": "Shield Recipe Client",
"version": "76.1",
"id": "shield-recipe-client@mozilla.org"
},
{
"name": "Web Compat",
"version": "1.1",
"id": "webcompat@mozilla.org"
}
],
"modifiedPreferences": {}
}

the-edmeister
  • Top 10 Contributor
  • Moderator
5285 solutions 39183 answers

Chosen Solution

Sorry, no "export" function for about:config prefs.

In your Profile folder there is a file named prefs.js that will contain all the preferences that you changed thru about:config. Problem is that prefs.js also contains many other preferences (like prefs added to Firefox via extensions), and may contain some "hard file paths" which can cause problems when the prefs.js file is copied over to a different Firefox Profile especially on a different computer.

The "trick" is to get ahead of the game; don't change prefs in about:config, but do it via a user.js file that can be safely copied over to a different Profile / computer. http://kb.mozillazine.org/User.js_file

https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data

It is a lot of work to get your base user.js file set up, but it pays off in the long run. Carrying my own user.js file forward (with edits every now and then) since Firefox 0.8 back inn 2004. Just gotta be careful with major changes in Firefox, like with Fx 57, 29, 4.0, 3.6, 3.5, 3.0, and 2.0 - one orphaned or changed pref and Firefox stops reading the user.js file; so you need to be careful as to what prefs you put in that file and the order those prefs are in. Prefs for extensions need to be last in the list, in case an extension "disappears" or isn't undated in a timely manner.

Typically I have 20 to 50 prefs in user.js, depending upon the Profile I use the specific user.js file in. Different types of extensions in different usage Profiles.

Sorry, no "export" function for about:config prefs. In your Profile folder there is a file named '''prefs.js''' that will contain all the preferences that you changed thru '''about:config'''. Problem is that prefs.js also contains many other preferences (like prefs added to Firefox via extensions), and may contain some "hard file paths" which can cause problems when the prefs.js file is copied over to a different Firefox Profile especially on a different computer. The "trick" is to get ahead of the game; don't change prefs in about:config, but do it via a '''user.js''' file that can be safely copied over to a different Profile / computer. http://kb.mozillazine.org/User.js_file https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data It is a lot of work to get your base user.js file set up, but it pays off in the long run. Carrying my own user.js file forward (with edits every now and then) since Firefox 0.8 back inn 2004. Just gotta be careful with major changes in Firefox, like with Fx 57, 29, 4.0, 3.6, 3.5, 3.0, and 2.0 - one orphaned or changed pref and Firefox stops reading the user.js file; so you need to be careful as to what prefs you put in that file and the order those prefs are in. Prefs for extensions need to be last in the list, in case an extension "disappears" or isn't undated in a timely manner. Typically I have 20 to 50 prefs in user.js, depending upon the Profile I use the specific user.js file in. Different types of extensions in different usage Profiles.

Question owner

Thank you edmeister. I'll install a fresh version of 57 at home and then diff my current prefs.js against the stock one and see what I've changed. I imagine I'll install all of the same extensions, so that shouldn't be an issue, and I'll make sure to go through and modify the hard paths to point to the correct locations. Should be easy enough to figure out. I just didn't know if FF saved preferences in a human readable file, or did some stupid stuff with their sqlite back-end like with bookmarks and history.

Thank you edmeister. I'll install a fresh version of 57 at home and then diff my current prefs.js against the stock one and see what I've changed. I imagine I'll install all of the same extensions, so that shouldn't be an issue, and I'll make sure to go through and modify the hard paths to point to the correct locations. Should be easy enough to figure out. I just didn't know if FF saved preferences in a human readable file, or did some stupid stuff with their sqlite back-end like with bookmarks and history.
cor-el
  • Top 10 Contributor
  • Moderator
16464 solutions 148535 answers

Note that the user.js file is read each time Firefox is started and initializes preferences to the value specified in this file, so preferences set via user.js can only be changed temporarily for the current session.

You can rename/delete the user.js file once it has done its job to initialize the profile or only leave it with settings you want in a fixed state on every startup.

Note that the user.js file is read each time Firefox is started and initializes preferences to the value specified in this file, so preferences set via user.js can only be changed temporarily for the current session. You can rename/delete the user.js file once it has done its job to initialize the profile or only leave it with settings you want in a fixed state on every startup.