{ pkgs, ... }: let arkenfox = builtins.readFile "${pkgs.personal.static.userjs.arkenfox}"; default = arkenfox + pkgs.lib.personal.toUserJS { "signon.rememberSignons" = false; # 0901 "security.nocertdb" = true; # 1222 "media.peerconnection.enabled" = false; # 2001 "media.peerconnection.ice.no_host" = true; # 2004 "dom.allow_cut_copy" = true; # 2404 "dom.battery.enabled" = false; # 2502 "permissions.default.xr" = 2; # 2521 "browser.search.separatePrivateDefault" = false; # 0830 "browser.search.separatePrivateDefault.ui.enabled" = false; # 0830 "privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = true; # 2811 "privacy.clearOnShutdown_v2.browsingHistoryAndDownloads" = true; # 2812 "privacy.clearOnShutdown_v2.downloads" = true; # 2812 "privacy.clearSiteData.historyFormDataAndDownloads" = true; # 2820 "privacy.clearSiteData.browsingHistoryAndDownloads" = true; # 2821 "privacy.clearHistory.historyFormDataAndDownloads" = true; # 2830 "privacy.clearHistory.browsingHistoryAndDownloads" = true; # 2831 # Personal ## Warnings "browser.tabs.warnOnClose" = false; "browser.tabs.warnOnCloseOtherTabs" = false; ## Updates "app.update.auto" = false; "browser.search.update" = false; ## Appearance "toolkit.legacyUserProfileCustomizations.stylesheets" = true; ## Content behavior "clipboard.autocopy" = false; ## UX behavior "browser.quitShortcut.disabled" = true; "browser.tabs.closeWindowWithLastTab" = false; ## UX features "extensions.pocket.enabled" = false; "identity.fxaccounts.enabled" = false; }; # streaming = # default # + pkgs.lib.personal.toUserJS { # # Cache # "browser.cache.disk.enable" = true; # "browser.cache.offline.storage" = true; # # Privacy # "privacy.clearOnShutdown_v2.cache" = false; # "privacy.clearOnShutdown_v2.cookiesAndStorage" = false; # }; # videoconferencing = # default # + pkgs.lib.personal.toUserJS { # # IMPORTANT: uncheck "Prevent WebRTC from leaking local IP addresses" in uBlock Origin's settings # # NOTE: if using RFP (4501) # # some sites, e.g. Zoom, need a canvas site exception [Right Click>View Page Info>Permissions] # # Discord video does not work: it thinks you are FF78: use a separate profile or spoof the user agent # "media.peerconnection.enabled" = true; # "media.peerconnection.ice.no_host" = false; # may or may not be required # "webgl.min_capability_mode" = true; # "media.autoplay.blocking_policy" = 0; # optional (otherwise add site exceptions) # "javascript.options.wasm" = true; # optional (some platforms may require this) # "dom.webaudio.enabled" = true; # }; in { programs.firefox.profiles.default.extraConfig = default; }