greenhouse

kore

my public infrastructure monorepo

git clone [email protected]:kore.git

kore / home / features / misc / firefox.nix564 lines · 24949B · raw

1{ outputs, ... }:
2
3let
4  c = outputs.palette.colors;
5
6  startup = {
7    "browser.aboutConfig.showWarning" = false;
8    "browser.shell.checkDefaultBrowser" = false;
9    "browser.shell.skipDefaultBrowserCheckOnFirstRun" = true;
10    "browser.startup.page" = 0;
11    "browser.startup.homepage" = "chrome://browser/content/blanktab.html";
12    "browser.newtabpage.enabled" = false;
13    "browser.newtabpage.activity-stream.showSponsored" = false;
14    "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
15    "browser.newtabpage.activity-stream.showSponsoredCheckboxes" = false;
16    "browser.newtabpage.activity-stream.default.sites" = "";
17    "browser.newtabpage.activity-stream.feeds.section.topstories" = false;
18    "browser.newtabpage.activity-stream.feeds.topsites" = false;
19    "browser.newtabpage.activity-stream.showSearch" = false;
20    "browser.newtabpage.activity-stream.showWeather" = false;
21    "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
22    "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
23    "browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
24    "browser.topsites.contile.enabled" = false;
25    "browser.topsites.useRemoteSetting" = false;
26    "browser.startup.homepage_override.mstone" = "ignore";
27    "startup.homepage_welcome_url" = "";
28    "startup.homepage_welcome_url.additional" = "";
29    "startup.homepage_override_url" = "";
30    "startup.homepage_override_nimbus_disable_wnp" = true;
31    "browser.aboutwelcome.enabled" = false;
32    "browser.disableResetPrompt" = true;
33  };
34
35  locale = {
36    "geo.enabled" = false;
37    "geo.provider.network.url" = "";
38    "geo.provider.use_geoclue" = false;
39    "geo.provider.geoclue.always_high_accuracy" = false;
40    "browser.region.network.url" = "";
41    "browser.region.update.enabled" = false;
42    "intl.multilingual.enabled" = true;
43    "intl.multilingual.downloadEnabled" = false;
44    "intl.multilingual.aboutWelcome.languageMismatchEnabled" = false;
45    "intl.locale.requested" = "";
46    "app.update.langpack.enabled" = false;
47    "extensions.getAddons.langpacks.url" = "";
48  };
49
50  telemetry = {
51    "datareporting.policy.dataSubmissionEnabled" = false;
52    "datareporting.policy.dataSubmissionPolicyAcceptedVersion" = 999;
53    "datareporting.policy.dataSubmissionPolicyBypassNotification" = true;
54    "datareporting.policy.dataSubmissionPolicyNotifiedTime" = "32503679999000";
55    "datareporting.healthreport.uploadEnabled" = false;
56    "termsofuse.acceptedDate" = "32503679999000";
57    "termsofuse.acceptedVersion" = 999;
58    "termsofuse.bypassNotification" = true;
59    "toolkit.telemetry.unified" = false;
60    "toolkit.telemetry.enabled" = false;
61    "toolkit.telemetry.server" = "data:,";
62    "toolkit.telemetry.archive.enabled" = false;
63    "toolkit.telemetry.newProfilePing.enabled" = false;
64    "toolkit.telemetry.shutdownPingSender.enabled" = false;
65    "toolkit.telemetry.updatePing.enabled" = false;
66    "toolkit.telemetry.bhrPing.enabled" = false;
67    "toolkit.telemetry.firstShutdownPing.enabled" = false;
68    "toolkit.coverage.opt-out" = true;
69    "toolkit.coverage.endpoint.base" = "";
70    "browser.newtabpage.activity-stream.telemetry" = false;
71    "browser.contentblocking.database.enabled" = false;
72    "browser.contentblocking.cfr-milestone.enabled" = false;
73    "toolkit.shopping.ohttpConfigURL" = "";
74    "toolkit.shopping.ohttpRelayURL" = "";
75    "media.webvtt.debug.logging" = false;
76    "media.webvtt.testing.events" = false;
77    "app.shield.optoutstudies.enabled" = false;
78    "app.normandy.enabled" = false;
79    "app.normandy.api_url" = "";
80    "breakpad.reportURL" = "";
81    "browser.tabs.crashReporting.sendReport" = false;
82    "browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
83  };
84
85  quieter = {
86    "extensions.getAddons.showPane" = false;
87    "extensions.htmlaboutaddons.recommendations.enabled" = false;
88    "extensions.getAddons.discovery.api_url" = "";
89    "extensions.recommendations.themeRecommendationUrl" = "";
90    "browser.discovery.enabled" = false;
91    "browser.newtabpage.activity-stream.asrouter.providers.cfr" = "null";
92    "browser.newtabpage.activity-stream.asrouter.providers.message-groups" = "null";
93    "browser.newtabpage.activity-stream.asrouter.providers.messaging-experiments" = "null";
94    "browser.newtabpage.activity-stream.asrouter.providers.onboarding" = "null";
95    "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
96    "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
97    "captivedetect.canonicalURL" = "";
98    "network.captive-portal-service.enabled" = false;
99    "network.connectivity-service.enabled" = false;
100    "network.manage-offline-status" = false;
101    "browser.urlbar.trustPanel.breachAlerts" = false;
102    "browser.urlbar.trustPanel.breachAlerts.featureGate" = false;
103    "browser.contentblocking.report.cookie.url" = "";
104    "browser.contentblocking.report.cryptominer.url" = "";
105    "browser.contentblocking.report.fingerprinter.url" = "";
106    "browser.contentblocking.report.social.url" = "";
107    "browser.contentblocking.report.tracker.url" = "";
108    "browser.contentblocking.report.endpoint_url" = "";
109    "browser.contentblocking.report.lockwise.enabled" = false;
110    "browser.contentblocking.report.lockwise.how_it_works.url" = "";
111    "browser.contentblocking.report.manage_devices.url" = "";
112    "browser.contentblocking.report.monitor.enabled" = false;
113    "browser.contentblocking.report.monitor.how_it_works.url" = "";
114    "browser.contentblocking.report.monitor.sign_in_url" = "";
115    "browser.contentblocking.report.monitor.url" = "";
116    "browser.contentblocking.report.monitor.home_page_url" = "";
117    "browser.contentblocking.report.monitor.preferences_url" = "";
118    "browser.contentblocking.report.hide_vpn_banner" = true;
119    "browser.contentblocking.report.show_mobile_app" = false;
120    "browser.vpn_promo.enabled" = false;
121    "browser.preferences.moreFromMozilla" = false;
122    "app.feedback.baseURL" = "";
123    "app.support.baseURL" = "";
124    "app.releaseNotesURL" = "";
125    "app.update.url.details" = "";
126    "app.update.url.manual" = "";
127    "app.update.staging.enabled" = false;
128    "app.update.auto" = false;
129    "gecko.handlerService.defaultHandlersVersion" = 999;
130    "browser.search.update" = false;
131    "permissions.manager.defaultsUrl" = "";
132    "browser.uitour.enabled" = false;
133    "browser.uitour.url" = "";
134    "identity.fxaccounts.enabled" = false;
135    "signon.firefoxRelay.feature" = "disabled";
136    "browser.firefox-view.virtual-list.enabled" = false;
137    "reader.parse-on-load.enabled" = false;
138    "browser.gnome-search-provider.enabled" = false;
139  };
140
141  ai = {
142    "browser.ml.enable" = false;
143    "browser.ml.chat.enabled" = false;
144    "browser.ml.chat.shortcuts" = false;
145    "browser.ml.chat.sidebar" = false;
146    "browser.ml.chat.menu" = false;
147    "browser.ml.linkPreview.supportedLocales" = "null";
148    "browser.preferences.aiControls" = false;
149    "browser.ai.control.default" = "blocked";
150  };
151
152  safebrowsing = {
153    "browser.safebrowsing.malware.enabled" = false;
154    "browser.safebrowsing.phishing.enabled" = false;
155    "browser.safebrowsing.allowOverride" = false;
156    "browser.safebrowsing.blockedURIs.enabled" = false;
157    "browser.safebrowsing.downloads.enabled" = false;
158    "browser.safebrowsing.downloads.remote.enabled" = false;
159    "browser.safebrowsing.downloads.remote.url" = "";
160    "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false;
161    "browser.safebrowsing.downloads.remote.block_uncommon" = false;
162    "browser.safebrowsing.downloads.remote.block_dangerous" = false;
163    "browser.safebrowsing.downloads.remote.block_dangerous_host" = false;
164    "browser.safebrowsing.provider.google.updateURL" = "";
165    "browser.safebrowsing.provider.google.gethashURL" = "";
166    "browser.safebrowsing.provider.google.reportURL" = "";
167    "browser.safebrowsing.provider.google.reportMalwareMistakeURL" = "";
168    "browser.safebrowsing.provider.google.reportPhishMistakeURL" = "";
169    "browser.safebrowsing.provider.google.advisoryURL" = "";
170    "browser.safebrowsing.provider.google4.updateURL" = "";
171    "browser.safebrowsing.provider.google4.gethashURL" = "";
172    "browser.safebrowsing.provider.google4.reportURL" = "";
173    "browser.safebrowsing.provider.google4.reportMalwareMistakeURL" = "";
174    "browser.safebrowsing.provider.google4.reportPhishMistakeURL" = "";
175    "browser.safebrowsing.provider.google4.dataSharing.enabled" = false;
176    "browser.safebrowsing.provider.google4.dataSharingURL" = "";
177    "browser.safebrowsing.provider.google4.advisoryURL" = "";
178    "browser.safebrowsing.provider.mozilla.gethashURL" = "";
179    "browser.safebrowsing.provider.mozilla.updateURL" = "";
180    "browser.safebrowsing.reportPhishURL" = "";
181  };
182
183  network = {
184    "network.prefetch-next" = false;
185    "network.dns.disablePrefetch" = true;
186    "network.dns.disablePrefetchFromHTTPS" = true;
187    "network.http.speculative-parallel-limit" = 0;
188    "browser.places.speculativeConnect.enabled" = false;
189    "browser.urlbar.speculativeConnect.enabled" = false;
190    "network.proxy.socks_remote_dns" = true;
191    "network.file.disable_unc_paths" = true;
192    "network.dns.preferIPv6" = true;
193    "network.trr.mode" = 3;
194    "network.trr.uri" = "https://dns.mullvad.net/dns-query";
195    "network.trr.custom_uri" = "https://dns.mullvad.net/dns-query";
196    "network.IDN_show_punycode" = true;
197    "network.auth.subresource-http-auth-allow" = 1;
198    "network.http.referer.XOriginTrimmingPolicy" = 2;
199    "network.http.referer.spoofSource" = true;
200    "network.http.referer.defaultPolicy.trackers" = 1;
201    "network.http.referer.defaultPolicy.trackers.pbmode" = 1;
202    "beacon.enabled" = false;
203  };
204
205  urlbar = {
206    "browser.urlbar.quicksuggest.enabled" = false;
207    "browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
208    "browser.urlbar.suggest.quicksuggest.sponsored" = false;
209    "browser.search.suggest.enabled" = false;
210    "browser.urlbar.suggest.searches" = false;
211    "browser.urlbar.suggest.engines" = false;
212    "browser.urlbar.suggest.history" = false;
213    "browser.urlbar.suggest.bookmark" = false;
214    "browser.urlbar.suggest.openpage" = false;
215    "browser.urlbar.suggest.topsites" = false;
216    "browser.urlbar.suggest.weather" = false;
217    "browser.urlbar.trending.featureGate" = false;
218    "browser.urlbar.addons.featureGate" = false;
219    "browser.urlbar.amp.featureGate" = false;
220    "browser.urlbar.importantDates.featureGate" = false;
221    "browser.urlbar.market.featureGate" = false;
222    "browser.urlbar.mdn.featureGate" = false;
223    "browser.urlbar.weather.featureGate" = false;
224    "browser.urlbar.wikipedia.featureGate" = false;
225    "browser.urlbar.yelp.featureGate" = false;
226    "browser.urlbar.yelpRealtime.featureGate" = false;
227    "browser.urlbar.clipboard.featureGate" = false;
228    "browser.urlbar.recentsearches.featureGate" = false;
229    "browser.urlbar.autoFill" = false;
230    "browser.urlbar.trimHttps" = false;
231    "browser.urlbar.trimURLs" = false;
232    "browser.urlbar.filter.javascript" = true;
233    "browser.urlbar.showSearchTerms.enabled" = false;
234    "browser.search.separatePrivateDefault" = true;
235    "browser.search.separatePrivateDefault.ui.enabled" = true;
236    "browser.formfill.enable" = false;
237    "layout.css.visited_links_enabled" = false;
238  };
239
240  passwords = {
241    "signon.rememberSignons" = false;
242    "signon.autofillForms" = false;
243    "signon.formlessCapture.enabled" = false;
244    "signon.generation.enabled" = false;
245    "signon.management.page.breach-alerts.enabled" = false;
246    "signon.management.page.breachAlertUrl" = "";
247    "security.webauthn.always_allow_direct_attestation" = false;
248    "extensions.formautofill.addresses.enabled" = false;
249    "extensions.formautofill.creditCards.enabled" = false;
250  };
251
252  disk = {
253    "browser.cache.disk.enable" = false;
254    "browser.privatebrowsing.forceMediaMemoryCache" = true;
255    "media.memory_cache_max_size" = 65536;
256    "browser.sessionstore.privacy_level" = 2;
257    "browser.sessionstore.interval" = 30000;
258    "browser.chrome.site_icons" = false;
259    "places.history.enabled" = false;
260    "browser.download.start_downloads_in_tmp_dir" = true;
261    "browser.helperApps.deleteTempFileOnExit" = true;
262    "browser.download.manager.addToRecentDocs" = false;
263  };
264
265  tls = {
266    "security.ssl.require_safe_negotiation" = true;
267    "security.ssl.treat_unsafe_negotiation_as_broken" = true;
268    "security.tls.enable_0rtt_data" = false;
269    "security.tls.version.enable-deprecated" = false;
270    "security.tls.enable_kyber" = true;
271    "network.http.http3.enable_0rtt" = false;
272    "network.http.http3.enable_kyber" = true;
273    "security.OCSP.enabled" = 0;
274    "security.OCSP.require" = false;
275    "security.ssl.enable_ocsp_stapling" = false;
276    "security.cert_pinning.enforcement_level" = 2;
277    "security.enterprise_roots.enabled" = false;
278    "security.certerrors.mitm.auto_enable_enterprise_roots" = false;
279    "security.certerrors.mitm.priming.enabled" = false;
280    "security.certerrors.mitm.priming.endpoint" = "";
281    "security.pki.mitm_canary_issuer" = "";
282    "security.pki.mitm_canary_issuer.enabled" = false;
283    "security.pki.mitm_detected" = false;
284    "security.qwacs.enabled" = false;
285    "security.insecure_field_warning.ignore_local_ip_address" = false;
286    "dom.security.https_only_mode" = true;
287    "dom.security.https_only_mode_send_http_background_request" = false;
288    "browser.xul.error_pages.expert_bad_cert" = true;
289    "security.csp.reporting.enabled" = false;
290    "security.dialog_enable_delay" = 1000;
291  };
292
293  media = {
294    "media.peerconnection.enabled" = false;
295    "media.peerconnection.ice.proxy_only_if_behind_proxy" = true;
296    "media.navigator.enabled" = false;
297    "media.gmp-gmpopenh264.enabled" = false;
298    "media.gmp-provider.enabled" = true;
299    "media.gmp-widevinecdm.enabled" = true;
300    "media.eme.enabled" = true;
301    "browser.eme.ui.enabled" = true;
302    "media.webspeech.synth.enabled" = false;
303    "dom.webaudio.enabled" = false;
304    "webgl.disabled" = true;
305    "webgl.enable-webgl2" = false;
306    "dom.webgpu.enabled" = false;
307    "pdfjs.enableWebGPU" = false;
308  };
309
310  dom = {
311    "dom.disable_window_move_resize" = true;
312    "dom.webserial.enabled" = false;
313    "dom.webserial.gated" = true;
314    "dom.push.enabled" = false;
315    "dom.push.connection.enabled" = false;
316    "dom.push.serverURL" = "";
317    "dom.push.userAgentID" = "";
318    "dom.gamepad.enabled" = false;
319    "dom.netinfo.enabled" = false;
320    "dom.vibrator.enabled" = false;
321    "dom.w3c_touch_events.enabled" = 0;
322    "dom.textMetrics.actualBoundingBox.enabled" = false;
323    "dom.textMetrics.baselines.enabled" = false;
324    "dom.textMetrics.emHeight.enabled" = false;
325    "dom.textMetrics.fontBoundingBox.enabled" = false;
326    "device.sensors.enabled" = false;
327    "browser.link.open_newwindow" = 3;
328    "browser.link.open_newwindow.restriction" = 0;
329    "pdfjs.disabled" = false;
330    "pdfjs.enableScripting" = false;
331    "mathml.disabled" = true;
332    "gfx.font_rendering.graphite.enabled" = false;
333    "gfx.font_rendering.opentype_svg.enabled" = false;
334  };
335
336  javascript = {
337    "javascript.options.ion" = false;
338    "javascript.options.baselinejit" = false;
339    "javascript.options.wasm" = false;
340    "javascript.options.wasm_baselinejit" = false;
341    "javascript.options.jit_trustedprincipals" = true;
342    "javascript.options.spectre.disable_for_isolated_content" = false;
343  };
344
345  sandbox = {
346    "fission.autostart" = true;
347    "gfx.webrender.all" = true;
348    "security.sandbox.gpu.level" = 1;
349    "browser.tabs.remote.separatePrivilegedMozillaWebContentProcess" = false;
350    "browser.tabs.remote.separatedMozillaDomains" = "";
351    "dom.ipc.processCount.privilegedmozilla" = 0;
352    "devtools.debugger.remote-enabled" = false;
353    "browser.contentanalysis.enabled" = false;
354    "browser.contentanalysis.default_result" = 0;
355    "privacy.antitracking.isolateContentScriptResources" = true;
356  };
357
358  extensions = {
359    "extensions.enabledScopes" = 5;
360    "extensions.postDownloadThirdPartyPrompt" = false;
361    "extensions.webcompat.enable_shims" = true;
362    "extensions.webcompat-reporter.enabled" = false;
363    "extensions.getAddons.cache.enabled" = false;
364    "privacy.resistFingerprinting.block_mozAddonManager" = true;
365  };
366
367  tracking = {
368    "browser.contentblocking.category" = "strict";
369    "network.cookie.cookieBehavior.optInPartitioning" = true;
370    "network.cookie.cookieBehavior.optInPartitioning.pbmode" = true;
371    "network.cookie.sameSite.laxByDefault" = true;
372    "network.cookie.sameSite.noneRequiresSecure" = true;
373    "network.cookie.sameSite.schemeful" = true;
374    "privacy.trackingprotection.allow_list.baseline.enabled" = true;
375    "privacy.trackingprotection.allow_list.convenience.enabled" = true;
376    "privacy.trackingprotection.allow_list.hasMigratedCategoryPrefs" = true;
377    "privacy.firstparty.isolate" = false;
378    "privacy.donottrackheader.enabled" = false;
379    "privacy.globalprivacycontrol.enabled" = true;
380    "privacy.globalprivacycontrol.pbmode.enabled" = true;
381    "privacy.userContext.enabled" = true;
382    "privacy.userContext.ui.enabled" = true;
383    "privacy.query_stripping.strip_list" = "__hsfp __hssc __hstc __s _bhlid _branch_match_id _branch_referrer _gl _hsenc _openstat at_recipient_id at_recipient_list bbeml bsft_clkid bsft_uid dclid et_rid fb_action_ids fb_comment_id gbraid fbclid gclid guce_referrer guce_referrer_sig hsCtaTracking irclickid mc_eid ml_subscriber ml_subscriber_hash msclkid mtm_cid oft_c oft_ck oft_d oft_id oft_ids oft_k oft_lk oft_sk oly_anon_id oly_enc_id pk_cid rb_clickid s_cid sc_customer sc_eh sc_uid sfmc_activityid sfmc_id sms_click sms_source sms_uph srsltid ss_email_id syclid ttclid twclid unicorn_click_id vero_conv vero_id vgo_ee wbraid wickedid yclid ymclid ysclid";
384  };
385
386  sanitize = {
387    "privacy.sanitize.sanitizeOnShutdown" = true;
388    "privacy.sanitize.timeSpan" = 0;
389    "privacy.clearOnShutdown_v2.cache" = true;
390    "privacy.clearOnShutdown_v2.cookiesAndStorage" = true;
391    "privacy.clearOnShutdown_v2.formdata" = true;
392    "privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = true;
393    "privacy.clearOnShutdown_v2.browsingHistoryAndDownloads" = true;
394    "privacy.clearOnShutdown_v2.downloads" = true;
395    "privacy.clearSiteData.cache" = true;
396    "privacy.clearSiteData.cookiesAndStorage" = false;
397    "privacy.clearSiteData.formdata" = true;
398    "privacy.clearSiteData.historyFormDataAndDownloads" = true;
399    "privacy.clearSiteData.browsingHistoryAndDownloads" = true;
400    "privacy.clearHistory.cache" = true;
401    "privacy.clearHistory.cookiesAndStorage" = false;
402    "privacy.clearHistory.formdata" = true;
403    "privacy.clearHistory.historyFormDataAndDownloads" = true;
404    "privacy.clearHistory.browsingHistoryAndDownloads" = true;
405  };
406
407  fingerprinting = {
408    "privacy.resistFingerprinting" = false;
409    "privacy.resistFingerprinting.pbmode" = false;
410    "privacy.fingerprintingProtection" = true;
411    "privacy.fingerprintingProtection.pbmode" = true;
412    "privacy.fingerprintingProtection.overrides" = "+AllTargets,-CSSPrefersColorScheme";
413    "privacy.fingerprintingProtection.remoteOverrides.enabled" = false;
414    "privacy.baselineFingerprintingProtection" = true;
415    "privacy.baselineFingerprintingProtection.overrides" = "";
416    "privacy.baselineFingerprintingProtection.granularOverrides" = "";
417    "privacy.resistFingerprinting.letterboxing" = true;
418    "privacy.spoof_english" = 2;
419    "ui.use_standins_for_native_colors" = true;
420    "widget.non-native-theme.use-theme-accent" = false;
421  };
422
423  permissions = {
424    "permissions.default.geo" = 2;
425    "permissions.default.camera" = 2;
426    "permissions.default.microphone" = 2;
427    "permissions.default.desktop-notification" = 2;
428    "permissions.default.xr" = 2;
429  };
430
431  behaviour = {
432    "browser.download.useDownloadDir" = false;
433    "browser.download.alwaysOpenPanel" = false;
434    "browser.download.always_ask_before_handling_new_types" = true;
435    "browser.tabs.searchclipboardfor.middleclick" = false;
436    "browser.tabs.warnOnClose" = false;
437    "browser.tabs.warnOnCloseOtherTabs" = false;
438    "browser.tabs.warnOnOpen" = false;
439    "browser.warnOnQuit" = false;
440    "browser.warnOnQuitShortcut" = false;
441    "full-screen-api.warning.delay" = 0;
442    "full-screen-api.warning.timeout" = 0;
443    "accessibility.typeaheadfind" = false;
444    "clipboard.autocopy" = false;
445    "layout.spellcheckDefault" = 0;
446    "browser.shareqrcode.embed_logo" = false;
447  };
448
449  sidebar = {
450    "sidebar.visibility" = "hide-sidebar";
451    "sidebar.verticalTabs" = false;
452    "sidebar.main.tools" = "";
453  };
454
455  theme = {
456    "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
457    "extensions.activeThemeID" = "[email protected]";
458    "layout.css.prefers-color-scheme.content-override" = 0;
459  };
460in {
461  programs.firefox = {
462    enable = true;
463
464    policies = {
465      DisableTelemetry = true;
466      DisableFirefoxStudies = true;
467      DisableFirefoxAccounts = true;
468      DisablePocket = true;
469      DontCheckDefaultBrowser = true;
470      PasswordManagerEnabled = false;
471      OfferToSaveLogins = false;
472      OverrideFirstRunPage = "";
473      OverridePostUpdatePage = "";
474
475      ExtensionSettings = {
476        "*".installation_mode = "blocked";
477
478        "[email protected]" = {
479          installation_mode = "force_installed";
480          install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
481          private_browsing = true;
482        };
483      };
484    };
485
486    profiles.default = {
487      id = 0;
488      isDefault = true;
489
490      search = {
491        force = true;
492        default = "ddg";
493        privateDefault = "ddg";
494      };
495
496      settings = startup // locale // telemetry // quieter // ai
497        // safebrowsing // network // urlbar // passwords // disk // tls
498        // media // dom // javascript // sandbox // extensions // tracking
499        // sanitize // fingerprinting // permissions // behaviour // sidebar // theme;
500
501      userChrome = ''
502        :root {
503          --lwt-accent-color: ${c.bg} !important;
504          --lwt-accent-color-inactive: ${c.bg} !important;
505          --lwt-text-color: ${c.fg} !important;
506
507          --toolbox-background-image: none !important;
508          --toolbox-background-color: ${c.bg} !important;
509          --toolbox-background-color-inactive: ${c.bg} !important;
510          --toolbox-text-color: ${c.fg} !important;
511          --toolbox-text-color-inactive: ${c.dim} !important;
512
513          --tab-background-color-selected: ${c.bgAlt} !important;
514          --tab-text-color-selected: ${c.fg} !important;
515          --tab-border-color-selected-leading: ${c.green} !important;
516          --tab-border-color-selected-trailing: ${c.green} !important;
517          --lwt-tab-line-color: ${c.green} !important;
518          --tab-loading-fill: ${c.green} !important;
519          --lwt-background-tab-separator-color: ${c.surface} !important;
520
521          --toolbar-background-color: ${c.bgAlt} !important;
522          --toolbar-text-color: ${c.fg} !important;
523          --toolbarbutton-icon-fill: ${c.fg} !important;
524          --toolbarbutton-icon-fill-attention: ${c.green} !important;
525          --toolbarbutton-background-color-hover: color-mix(in srgb, ${c.green} 12%, transparent) !important;
526          --toolbarbutton-background-color-active: color-mix(in srgb, ${c.green} 22%, transparent) !important;
527          --toolbarseparator-color: ${c.surface} !important;
528          --tabs-navbar-separator-color: transparent !important;
529          --chrome-content-separator-color: ${c.surface} !important;
530
531          --toolbar-field-background-color: ${c.bg} !important;
532          --toolbar-field-background-color-focus: ${c.bg} !important;
533          --toolbar-field-text-color: ${c.fg} !important;
534          --toolbar-field-text-color-focus: ${c.fg} !important;
535          --toolbar-field-border-color: ${c.surface} !important;
536          --toolbar-field-border-color-focus: ${c.green} !important;
537          --lwt-toolbar-field-highlight: ${c.surface} !important;
538          --lwt-toolbar-field-highlight-text: ${c.fg} !important;
539
540          --panel-background-color: ${c.bg} !important;
541          --panel-text-color: ${c.fg} !important;
542          --panel-border-color: ${c.surface} !important;
543          --urlbarview-background-color-selected: ${c.surface} !important;
544          --urlbarview-text-color-selected: ${c.fg} !important;
545
546          --sidebar-background-color: ${c.bg} !important;
547          --sidebar-text-color: ${c.fg} !important;
548          --sidebar-border-color: ${c.surface} !important;
549          --tabpanel-background-color: ${c.bg} !important;
550
551          --focus-outline-color: ${c.green} !important;
552        }
553
554        #sidebar-button,
555        #sidebar-container,
556        #sidebar-launcher-splitter,
557        #sidebar-box,
558        #sidebar-splitter {
559          display: none !important;
560        }
561      '';
562    };
563  };
564}