home: init firefox
This commit is contained in:
parent
882321a0f8
commit
0e68e5ac9c
2 changed files with 362 additions and 0 deletions
107
home/firefox/default.nix
Normal file
107
home/firefox/default.nix
Normal file
|
@ -0,0 +1,107 @@
|
|||
{pkgs, ...}: {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisablePocket = true;
|
||||
DisplayBookmarksToolbar = true;
|
||||
DontCheckDefaultBrowser = true;
|
||||
OfferToSaveLogins = false;
|
||||
NoDefaultBookmarks = true;
|
||||
PasswordManagerEnable = false;
|
||||
DNSOverHTTPS = {
|
||||
Enabled = true;
|
||||
};
|
||||
};
|
||||
profiles.notohh = {
|
||||
id = 0;
|
||||
isDefault = true;
|
||||
name = "notohh";
|
||||
settings = {
|
||||
"browser.search.separatePrivateDefault" = false;
|
||||
"browser.search.separatePrivateDefault.ui.enabled" = true;
|
||||
"browser.startup.homepage" = "http://dashboard.internal.flake.sh/";
|
||||
"network.trr.mode" = 2;
|
||||
};
|
||||
extraConfig = builtins.readFile ./user.js/betterfox.js;
|
||||
search = {
|
||||
default = "SearXNG";
|
||||
engines = {
|
||||
"SearXNG" = {
|
||||
urls = [
|
||||
{
|
||||
template = "http://100.121.201.47:8100";
|
||||
params = [
|
||||
{
|
||||
name = "q";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
definedAliases = ["@sx"];
|
||||
};
|
||||
"Nix Packages" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{
|
||||
name = "type";
|
||||
value = "packages";
|
||||
}
|
||||
{
|
||||
name = "query";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = ["@np"];
|
||||
};
|
||||
"Bing".metaData.hidden = true;
|
||||
"Google".metaData.hidden = true;
|
||||
"Amazon.com".metaData.hidden = true;
|
||||
"eBay".metaData.hidden = true;
|
||||
"DuckDuckGo".metaData.hidden = true;
|
||||
};
|
||||
};
|
||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
# security
|
||||
bitwarden
|
||||
ublock-origin
|
||||
canvasblocker
|
||||
|
||||
#leisure
|
||||
darkreader
|
||||
mal-sync
|
||||
|
||||
#utility
|
||||
new-tab-override
|
||||
sponsorblock
|
||||
return-youtube-dislikes
|
||||
|
||||
#misc
|
||||
tokyo-night-v2
|
||||
];
|
||||
};
|
||||
};
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"x-scheme-handler/discord-409416265891971072" = ["discord-409416265891971072.desktop"];
|
||||
"x-scheme-handler/discord-402572971681644545" = ["discord-402572971681644545.desktop"];
|
||||
"x-scheme-handler/discord-696343075731144724" = ["discord-696343075731144724.desktop"];
|
||||
"x-scheme-handler/http" = ["firefox.desktop"];
|
||||
"x-scheme-handler/https" = ["firefox.desktop"];
|
||||
"x-scheme-handler/chrome" = ["firefox.desktop"];
|
||||
"text/html" = ["firefox.desktop"];
|
||||
"application/x-extension-htm" = ["firefox.desktop"];
|
||||
"application/x-extension-html" = ["firefox.desktop"];
|
||||
"application/x-extension-shtml" = ["firefox.desktop"];
|
||||
"application/xhtml+xml" = ["firefox.desktop"];
|
||||
"application/x-extension-xhtml" = ["firefox.desktop"];
|
||||
"application/x-extension-xht" = ["firefox.desktop"];
|
||||
};
|
||||
};
|
||||
}
|
255
home/firefox/user.js/betterfox.js
Normal file
255
home/firefox/user.js/betterfox.js
Normal file
|
@ -0,0 +1,255 @@
|
|||
//
|
||||
/* You may copy+paste this file and use it as it is.
|
||||
*
|
||||
* If you make changes to your about:config while the program is running, the
|
||||
* changes will be overwritten by the user.js when the application restarts.
|
||||
*
|
||||
* To make lasting changes to preferences, you will have to edit the user.js.
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
* Betterfox *
|
||||
* "Ad meliora" *
|
||||
* version: 119 *
|
||||
* url: https://github.com/yokoffing/Betterfox *
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* SECTION: FASTFOX *
|
||||
****************************************************************************/
|
||||
/** GENERAL ***/
|
||||
user_pref("content.notify.interval", 100000);
|
||||
|
||||
/** GFX ***/
|
||||
user_pref("gfx.canvas.accelerated.cache-items", 4096);
|
||||
user_pref("gfx.canvas.accelerated.cache-size", 512);
|
||||
user_pref("gfx.content.skia-font-cache-size", 20);
|
||||
|
||||
/** DISK CACHE ***/
|
||||
user_pref("browser.cache.jsbc_compression_level", 3);
|
||||
|
||||
/** MEDIA CACHE ***/
|
||||
user_pref("media.memory_cache_max_size", 65536);
|
||||
user_pref("media.cache_readahead_limit", 7200);
|
||||
user_pref("media.cache_resume_threshold", 3600);
|
||||
|
||||
/** IMAGE CACHE ***/
|
||||
user_pref("image.mem.decode_bytes_at_a_time", 32768);
|
||||
|
||||
/** NETWORK ***/
|
||||
user_pref("network.buffer.cache.size", 262144);
|
||||
user_pref("network.buffer.cache.count", 128);
|
||||
user_pref("network.http.max-connections", 1800);
|
||||
user_pref("network.http.max-persistent-connections-per-server", 10);
|
||||
user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5);
|
||||
user_pref("network.http.pacing.requests.enabled", false);
|
||||
user_pref("network.dnsCacheExpiration", 3600);
|
||||
user_pref("network.dns.max_high_priority_threads", 8);
|
||||
user_pref("network.ssl_tokens_cache_capacity", 10240);
|
||||
|
||||
/** SPECULATIVE LOADING ***/
|
||||
user_pref("network.dns.disablePrefetch", true);
|
||||
user_pref("network.prefetch-next", false);
|
||||
user_pref("network.predictor.enabled", false);
|
||||
|
||||
/** EXPERIMENTAL ***/
|
||||
user_pref("layout.css.grid-template-masonry-value.enabled", true);
|
||||
user_pref("dom.enable_web_task_scheduling", true);
|
||||
user_pref("layout.css.has-selector.enabled", true);
|
||||
user_pref("dom.security.sanitizer.enabled", true);
|
||||
|
||||
/****************************************************************************
|
||||
* SECTION: SECUREFOX *
|
||||
****************************************************************************/
|
||||
/** TRACKING PROTECTION ***/
|
||||
user_pref("browser.contentblocking.category", "strict");
|
||||
user_pref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com");
|
||||
user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com");
|
||||
user_pref("network.cookie.sameSite.noneRequiresSecure", true);
|
||||
user_pref("browser.download.start_downloads_in_tmp_dir", true);
|
||||
user_pref("browser.helperApps.deleteTempFileOnExit", true);
|
||||
user_pref("browser.uitour.enabled", false);
|
||||
user_pref("privacy.globalprivacycontrol.enabled", true);
|
||||
user_pref("privacy.globalprivacycontrol.functionality.enabled", true);
|
||||
|
||||
/** OCSP & CERTS / HPKP ***/
|
||||
user_pref("security.OCSP.enabled", 0);
|
||||
user_pref("security.remote_settings.crlite_filters.enabled", true);
|
||||
user_pref("security.pki.crlite_mode", 2);
|
||||
|
||||
/** SSL / TLS ***/
|
||||
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
|
||||
user_pref("browser.xul.error_pages.expert_bad_cert", true);
|
||||
user_pref("security.tls.enable_0rtt_data", false);
|
||||
|
||||
/** DISK AVOIDANCE ***/
|
||||
user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
|
||||
user_pref("browser.sessionstore.interval", 60000);
|
||||
|
||||
/** SHUTDOWN & SANITIZING ***/
|
||||
user_pref("privacy.history.custom", true);
|
||||
|
||||
/** SEARCH / URL BAR ***/
|
||||
user_pref("browser.search.separatePrivateDefault.ui.enabled", true);
|
||||
user_pref("browser.urlbar.update2.engineAliasRefresh", true);
|
||||
user_pref("browser.search.suggest.enabled", false);
|
||||
user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
|
||||
user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false);
|
||||
user_pref("browser.formfill.enable", false);
|
||||
user_pref("security.insecure_connection_text.enabled", true);
|
||||
user_pref("security.insecure_connection_text.pbmode.enabled", true);
|
||||
user_pref("network.IDN_show_punycode", true);
|
||||
|
||||
/** HTTPS-FIRST POLICY ***/
|
||||
user_pref("dom.security.https_first", true);
|
||||
|
||||
/** PASSWORDS ***/
|
||||
user_pref("signon.rememberSignons", false);
|
||||
user_pref("signon.formlessCapture.enabled", false);
|
||||
user_pref("signon.privateBrowsingCapture.enabled", false);
|
||||
user_pref("network.auth.subresource-http-auth-allow", 1);
|
||||
user_pref("editor.truncate_user_pastes", false);
|
||||
|
||||
/** ADDRESS + CREDIT CARD MANAGER ***/
|
||||
user_pref("extensions.formautofill.addresses.enabled", false);
|
||||
user_pref("extensions.formautofill.creditCards.enabled", false);
|
||||
|
||||
/** MIXED CONTENT + CROSS-SITE ***/
|
||||
user_pref("security.mixed_content.block_display_content", true);
|
||||
user_pref("security.mixed_content.upgrade_display_content", true);
|
||||
user_pref("security.mixed_content.upgrade_display_content.image", true);
|
||||
user_pref("pdfjs.enableScripting", false);
|
||||
user_pref("extensions.postDownloadThirdPartyPrompt", false);
|
||||
|
||||
/** HEADERS / REFERERS ***/
|
||||
user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
|
||||
|
||||
/** CONTAINERS ***/
|
||||
user_pref("privacy.userContext.ui.enabled", true);
|
||||
|
||||
/** WEBRTC ***/
|
||||
user_pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true);
|
||||
user_pref("media.peerconnection.ice.default_address_only", true);
|
||||
|
||||
/** SAFE BROWSING ***/
|
||||
user_pref("browser.safebrowsing.downloads.remote.enabled", false);
|
||||
|
||||
/** MOZILLA ***/
|
||||
user_pref("permissions.default.desktop-notification", 2);
|
||||
user_pref("permissions.default.geo", 2);
|
||||
user_pref("geo.provider.network.url", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
|
||||
user_pref("permissions.manager.defaultsUrl", "");
|
||||
user_pref("webchannel.allowObject.urlWhitelist", "");
|
||||
|
||||
/** TELEMETRY ***/
|
||||
user_pref("datareporting.policy.dataSubmissionEnabled", false);
|
||||
user_pref("datareporting.healthreport.uploadEnabled", false);
|
||||
user_pref("toolkit.telemetry.unified", false);
|
||||
user_pref("toolkit.telemetry.enabled", false);
|
||||
user_pref("toolkit.telemetry.server", "data:,");
|
||||
user_pref("toolkit.telemetry.archive.enabled", false);
|
||||
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
|
||||
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
|
||||
user_pref("toolkit.telemetry.updatePing.enabled", false);
|
||||
user_pref("toolkit.telemetry.bhrPing.enabled", false);
|
||||
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
|
||||
user_pref("toolkit.telemetry.coverage.opt-out", true);
|
||||
user_pref("toolkit.coverage.opt-out", true);
|
||||
user_pref("toolkit.coverage.endpoint.base", "");
|
||||
user_pref("browser.ping-centre.telemetry", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
|
||||
user_pref("browser.newtabpage.activity-stream.telemetry", false);
|
||||
|
||||
/** EXPERIMENTS ***/
|
||||
user_pref("app.shield.optoutstudies.enabled", false);
|
||||
user_pref("app.normandy.enabled", false);
|
||||
user_pref("app.normandy.api_url", "");
|
||||
|
||||
/** CRASH REPORTS ***/
|
||||
user_pref("breakpad.reportURL", "");
|
||||
user_pref("browser.tabs.crashReporting.sendReport", false);
|
||||
user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
|
||||
|
||||
/** DETECTION ***/
|
||||
user_pref("captivedetect.canonicalURL", "");
|
||||
user_pref("network.captive-portal-service.enabled", false);
|
||||
user_pref("network.connectivity-service.enabled", false);
|
||||
|
||||
/****************************************************************************
|
||||
* SECTION: PESKYFOX *
|
||||
****************************************************************************/
|
||||
/** MOZILLA UI ***/
|
||||
user_pref("browser.privatebrowsing.vpnpromourl", "");
|
||||
user_pref("extensions.getAddons.showPane", false);
|
||||
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
|
||||
user_pref("browser.discovery.enabled", false);
|
||||
user_pref("browser.shell.checkDefaultBrowser", false);
|
||||
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
|
||||
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
|
||||
user_pref("browser.preferences.moreFromMozilla", false);
|
||||
user_pref("browser.tabs.tabmanager.enabled", false);
|
||||
user_pref("browser.aboutConfig.showWarning", false);
|
||||
user_pref("browser.aboutwelcome.enabled", false);
|
||||
|
||||
/** THEME ADJUSTMENTS ***/
|
||||
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
||||
user_pref("browser.compactmode.show", true);
|
||||
user_pref("browser.display.focus_ring_on_anything", true);
|
||||
user_pref("browser.display.focus_ring_style", 0);
|
||||
user_pref("browser.display.focus_ring_width", 0);
|
||||
user_pref("layout.css.prefers-color-scheme.content-override", 2);
|
||||
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
|
||||
|
||||
/** COOKIE BANNER HANDLING ***/
|
||||
user_pref("cookiebanners.service.mode", 1);
|
||||
user_pref("cookiebanners.service.mode.privateBrowsing", 1);
|
||||
user_pref("cookiebanners.service.enableGlobalRules", true);
|
||||
|
||||
/** FULLSCREEN NOTICE ***/
|
||||
user_pref("full-screen-api.transition-duration.enter", "0 0");
|
||||
user_pref("full-screen-api.transition-duration.leave", "0 0");
|
||||
user_pref("full-screen-api.warning.delay", -1);
|
||||
user_pref("full-screen-api.warning.timeout", 0);
|
||||
|
||||
/** URL BAR ***/
|
||||
user_pref("browser.urlbar.suggest.calculator", true);
|
||||
user_pref("browser.urlbar.unitConversion.enabled", true);
|
||||
user_pref("browser.urlbar.trending.featureGate", false);
|
||||
|
||||
/** NEW TAB PAGE ***/
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.topsites", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
|
||||
|
||||
/*** POCKET ***/
|
||||
user_pref("extensions.pocket.enabled", false);
|
||||
|
||||
/** DOWNLOADS ***/
|
||||
user_pref("browser.download.useDownloadDir", false);
|
||||
user_pref("browser.download.always_ask_before_handling_new_types", true);
|
||||
user_pref("browser.download.manager.addToRecentDocs", false);
|
||||
|
||||
/** PDF ***/
|
||||
user_pref("browser.download.open_pdf_attachments_inline", true);
|
||||
|
||||
/** TAB BEHAVIOR ***/
|
||||
user_pref("browser.bookmarks.openInTabClosesMenu", false);
|
||||
user_pref("browser.menu.showViewImageInfo", true);
|
||||
user_pref("findbar.highlightAll", true);
|
||||
user_pref("layout.word_select.eat_space_to_next_word", false);
|
||||
|
||||
/****************************************************************************
|
||||
* START: MY OVERRIDES *
|
||||
****************************************************************************/
|
||||
// visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides
|
||||
// visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening
|
||||
// Enter your personal overrides below this line:
|
||||
|
||||
/****************************************************************************
|
||||
* SECTION: SMOOTHFOX *
|
||||
****************************************************************************/
|
||||
// visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js
|
||||
// Enter your scrolling overrides below this line:
|
||||
|
||||
/****************************************************************************
|
||||
* END: BETTERFOX *
|
||||
****************************************************************************/
|
Loading…
Reference in a new issue