Kieran's opinionated (and probably slightly dumb) nix config
1//
2/* You may copy+paste this file and use it as it is.
3 *
4 * If you make changes to your about:config while the program is running, the
5 * changes will be overwritten by the user.js when the application restarts.
6 *
7 * To make lasting changes to preferences, you will have to edit the user.js.
8 */
9
10/****************************************************************************
11 * Betterfox *
12 * "Ad meliora" *
13 * version: 129 *
14 * url: https://github.com/yokoffing/Betterfox *
15 ****************************************************************************/
16
17/****************************************************************************
18 * SECTION: FASTFOX *
19 ****************************************************************************/
20/** GENERAL ***/
21user_pref("content.notify.interval", 100000);
22
23/** GFX ***/
24user_pref("gfx.canvas.accelerated.cache-items", 4096);
25user_pref("gfx.canvas.accelerated.cache-size", 512);
26user_pref("gfx.content.skia-font-cache-size", 20);
27
28/** DISK CACHE ***/
29user_pref("browser.cache.jsbc_compression_level", 3);
30
31/** MEDIA CACHE ***/
32user_pref("media.memory_cache_max_size", 65536);
33user_pref("media.cache_readahead_limit", 7200);
34user_pref("media.cache_resume_threshold", 3600);
35
36/** IMAGE CACHE ***/
37user_pref("image.mem.decode_bytes_at_a_time", 32768);
38
39/** NETWORK ***/
40user_pref("network.http.max-connections", 1800);
41user_pref("network.http.max-persistent-connections-per-server", 10);
42user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5);
43user_pref("network.http.pacing.requests.enabled", false);
44user_pref("network.dnsCacheExpiration", 3600);
45user_pref("network.ssl_tokens_cache_capacity", 10240);
46
47/** SPECULATIVE LOADING ***/
48user_pref("network.dns.disablePrefetch", true);
49user_pref("network.dns.disablePrefetchFromHTTPS", true);
50user_pref("network.prefetch-next", false);
51user_pref("network.predictor.enabled", false);
52user_pref("network.predictor.enable-prefetch", false);
53
54/** EXPERIMENTAL ***/
55user_pref("layout.css.grid-template-masonry-value.enabled", true);
56user_pref("dom.enable_web_task_scheduling", true);
57user_pref("dom.security.sanitizer.enabled", true);
58
59/****************************************************************************
60 * SECTION: SECUREFOX *
61 ****************************************************************************/
62/** TRACKING PROTECTION ***/
63user_pref("browser.contentblocking.category", "strict");
64user_pref(
65 "urlclassifier.trackingSkipURLs",
66 "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com"
67);
68user_pref(
69 "urlclassifier.features.socialtracking.skipURLs",
70 "*.instagram.com, *.twitter.com, *.twimg.com"
71);
72user_pref("network.cookie.sameSite.noneRequiresSecure", true);
73user_pref("browser.download.start_downloads_in_tmp_dir", true);
74user_pref("browser.helperApps.deleteTempFileOnExit", true);
75user_pref("browser.uitour.enabled", false);
76user_pref("privacy.globalprivacycontrol.enabled", true);
77
78/** OCSP & CERTS / HPKP ***/
79user_pref("security.OCSP.enabled", 0);
80user_pref("security.remote_settings.crlite_filters.enabled", true);
81user_pref("security.pki.crlite_mode", 2);
82
83/** SSL / TLS ***/
84user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
85user_pref("browser.xul.error_pages.expert_bad_cert", true);
86user_pref("security.tls.enable_0rtt_data", false);
87
88/** DISK AVOIDANCE ***/
89user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
90user_pref("browser.sessionstore.interval", 60000);
91
92/** SHUTDOWN & SANITIZING ***/
93user_pref("privacy.history.custom", true);
94
95/** SEARCH / URL BAR ***/
96user_pref("browser.urlbar.trimHttps", true);
97user_pref("browser.urlbar.untrimOnUserInteraction.featureGate", true);
98user_pref("browser.search.separatePrivateDefault.ui.enabled", true);
99user_pref("browser.urlbar.update2.engineAliasRefresh", true);
100user_pref("browser.search.suggest.enabled", false);
101user_pref("browser.urlbar.quicksuggest.enabled", false);
102user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
103user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false);
104user_pref("browser.urlbar.groupLabels.enabled", false);
105user_pref("browser.formfill.enable", false);
106user_pref("security.insecure_connection_text.enabled", true);
107user_pref("security.insecure_connection_text.pbmode.enabled", true);
108user_pref("network.IDN_show_punycode", true);
109
110/** HTTPS-FIRST POLICY ***/
111user_pref("dom.security.https_first", true);
112
113/** PASSWORDS ***/
114user_pref("signon.formlessCapture.enabled", false);
115user_pref("signon.privateBrowsingCapture.enabled", false);
116user_pref("network.auth.subresource-http-auth-allow", 1);
117user_pref("editor.truncate_user_pastes", false);
118
119/** MIXED CONTENT + CROSS-SITE ***/
120user_pref("security.mixed_content.block_display_content", true);
121user_pref("pdfjs.enableScripting", false);
122user_pref("extensions.postDownloadThirdPartyPrompt", false);
123
124/** HEADERS / REFERERS ***/
125user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
126
127/** CONTAINERS ***/
128user_pref("privacy.userContext.ui.enabled", true);
129
130/** WEBRTC ***/
131user_pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true);
132user_pref("media.peerconnection.ice.default_address_only", true);
133
134/** SAFE BROWSING ***/
135user_pref("browser.safebrowsing.downloads.remote.enabled", false);
136
137/** MOZILLA ***/
138user_pref("permissions.default.desktop-notification", 2);
139user_pref("permissions.default.geo", 2);
140user_pref("permissions.manager.defaultsUrl", "");
141user_pref("webchannel.allowObject.urlWhitelist", "");
142
143/** TELEMETRY ***/
144user_pref("datareporting.policy.dataSubmissionEnabled", false);
145user_pref("datareporting.healthreport.uploadEnabled", false);
146user_pref("toolkit.telemetry.unified", false);
147user_pref("toolkit.telemetry.enabled", false);
148user_pref("toolkit.telemetry.server", "data:,");
149user_pref("toolkit.telemetry.archive.enabled", false);
150user_pref("toolkit.telemetry.newProfilePing.enabled", false);
151user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
152user_pref("toolkit.telemetry.updatePing.enabled", false);
153user_pref("toolkit.telemetry.bhrPing.enabled", false);
154user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
155user_pref("toolkit.telemetry.coverage.opt-out", true);
156user_pref("toolkit.coverage.opt-out", true);
157user_pref("toolkit.coverage.endpoint.base", "");
158user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
159user_pref("browser.newtabpage.activity-stream.telemetry", false);
160
161/** EXPERIMENTS ***/
162user_pref("app.shield.optoutstudies.enabled", false);
163user_pref("app.normandy.enabled", false);
164user_pref("app.normandy.api_url", "");
165
166/** CRASH REPORTS ***/
167user_pref("breakpad.reportURL", "");
168user_pref("browser.tabs.crashReporting.sendReport", false);
169user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
170
171/** DETECTION ***/
172user_pref("captivedetect.canonicalURL", "");
173user_pref("network.captive-portal-service.enabled", false);
174user_pref("network.connectivity-service.enabled", false);
175
176/****************************************************************************
177 * SECTION: PESKYFOX *
178 ****************************************************************************/
179/** MOZILLA UI ***/
180user_pref("browser.privatebrowsing.vpnpromourl", "");
181user_pref("extensions.getAddons.showPane", false);
182user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
183user_pref("browser.discovery.enabled", false);
184user_pref("browser.shell.checkDefaultBrowser", false);
185user_pref(
186 "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons",
187 false
188);
189user_pref(
190 "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features",
191 false
192);
193user_pref("browser.preferences.moreFromMozilla", false);
194user_pref("browser.aboutConfig.showWarning", false);
195user_pref("browser.aboutwelcome.enabled", false);
196user_pref("browser.tabs.tabmanager.enabled", false);
197user_pref("browser.profiles.enabled", true);
198
199/** THEME ADJUSTMENTS ***/
200user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
201user_pref("browser.compactmode.show", true);
202user_pref("browser.display.focus_ring_on_anything", true);
203user_pref("browser.display.focus_ring_style", 0);
204user_pref("browser.display.focus_ring_width", 0);
205user_pref("layout.css.prefers-color-scheme.content-override", 2);
206user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
207user_pref(
208 "browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled",
209 true
210);
211
212/** COOKIE BANNER HANDLING ***/
213user_pref("cookiebanners.service.mode", 1);
214user_pref("cookiebanners.service.mode.privateBrowsing", 1);
215
216/** FULLSCREEN NOTICE ***/
217user_pref("full-screen-api.transition-duration.enter", "0 0");
218user_pref("full-screen-api.transition-duration.leave", "0 0");
219user_pref("full-screen-api.warning.delay", -1);
220user_pref("full-screen-api.warning.timeout", 0);
221
222/** URL BAR ***/
223user_pref("browser.urlbar.suggest.calculator", true);
224user_pref("browser.urlbar.unitConversion.enabled", true);
225user_pref("browser.urlbar.trending.featureGate", false);
226
227/** NEW TAB PAGE ***/
228user_pref("browser.newtabpage.activity-stream.feeds.topsites", false);
229user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
230
231/** POCKET ***/
232user_pref("extensions.pocket.enabled", false);
233
234/** DOWNLOADS ***/
235user_pref("browser.download.manager.addToRecentDocs", false);
236
237/** PDF ***/
238user_pref("browser.download.open_pdf_attachments_inline", true);
239
240/** TAB BEHAVIOR ***/
241user_pref("browser.bookmarks.openInTabClosesMenu", false);
242user_pref("browser.menu.showViewImageInfo", true);
243user_pref("findbar.highlightAll", true);
244user_pref("layout.word_select.eat_space_to_next_word", false);
245
246/****************************************************************************
247 * START: MY OVERRIDES *
248 ****************************************************************************/
249// visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides
250// visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening
251// Enter your personal overrides below this line:
252
253// PREF: preferred color scheme for websites and sub-pages
254// Dark (0), Light (1), System (2), Browser (3)
255user_pref("layout.css.prefers-color-scheme.content-override", 0);
256
257user_pref("browser.download.useDownloadDir", true); // DEFAULT
258user_pref("browser.download.always_ask_before_handling_new_types", true);
259
260// PREF: restore search engine suggestions
261user_pref("browser.search.suggest.enabled", true);
262
263// PREF: disable Firefox Sync
264user_pref("identity.fxaccounts.enabled", false);
265
266// PREF: disable the Firefox View tour from popping up
267user_pref("browser.firefox-view.feature-tour", '{"screen":"","complete":true}');
268
269// PREF: do not allow embedded tweets, Instagram, Reddit, and Tiktok posts
270user_pref("urlclassifier.trackingSkipURLs", "");
271user_pref("urlclassifier.features.socialtracking.skipURLs", "");
272
273// PREF: enable HTTPS-Only Mode
274// Warn me before loading sites that don't support HTTPS
275// in both Normal and Private Browsing windows.
276user_pref("dom.security.https_only_mode", true);
277user_pref("dom.security.https_only_mode_error_page_user_suggestions", true);
278
279// PREF: enforce certificate pinning
280// [ERROR] MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE
281// 1 = allow user MiTM (such as your antivirus) (default)
282// 2 = strict
283user_pref("security.cert_pinning.enforcement_level", 2);
284
285// PREF: delete cookies, cache, and site data on shutdown
286user_pref("privacy.sanitize.sanitizeOnShutdown", true);
287user_pref("privacy.clearOnShutdown_v2.cache", true); // DEFAULT
288user_pref("privacy.clearOnShutdown_v2.cookiesAndStorage", true); // DEFAULT
289user_pref("privacy.clearOnShutdown_v2.historyFormDataAndDownloads", false);
290
291// PREF: enforce DNS-over-HTTPS (DoH)
292user_pref("network.trr.mode", 2);
293user_pref("network.trr.max-fails", 5);
294/****************************************************************************
295 * SECTION: SMOOTHFOX *
296 ****************************************************************************/
297// visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js
298// Enter your scrolling overrides below this line:
299
300/****************************************************************************************
301 * OPTION: SHARPEN SCROLLING *
302 ****************************************************************************************/
303// credit: https://github.com/black7375/Firefox-UI-Fix
304// only sharpen scrolling
305user_pref("apz.overscroll.enabled", true); // DEFAULT NON-LINUX
306
307/****************************************************************************
308 * END: BETTERFOX *
309 ****************************************************************************/