{ pkgs, lib, stdenv, specialArgs, ... }: let extensions = with specialArgs.ff-addons; [ bitwarden darkreader i-dont-care-about-cookies privacy-badger ublock-origin tree-style-tab # tridactyl ]; customChrome = builtins.readFile ./userChrome.css; userChrome = customChrome; # ~/.mozilla/firefox/PROFILE_NAME/prefs.js | user.js settings = { "app.normandy.first_run" = false; "app.shield.optoutstudies.enabled" = false; # disable updates (pretty pointless with nix) "app.update.channel" = "default"; "browser.contentblocking.category" = "standard"; # "strict" "browser.ctrlTab.recentlyUsedOrder" = false; "browser.download.viewableInternally.typeWasRegistered.svg" = true; "browser.download.viewableInternally.typeWasRegistered.webp" = true; "browser.download.viewableInternally.typeWasRegistered.xml" = true; "browser.search.region" = "DE"; "browser.shell.checkDefaultBrowser" = false; "browser.tabs.loadInBackground" = true; "browser.urlbar.placeholderName" = "EnteEnteLauf"; "browser.urlbar.showSearchSuggestionsFirst" = false; # disable all the annoying quick actions "browser.urlbar.quickactions.enabled" = false; "browser.urlbar.quickactions.showPrefs" = false; "browser.urlbar.shortcuts.quickactions" = false; "browser.urlbar.suggest.quickactions" = false; "distribution.searchplugins.defaultLocale" = "en-US"; "doh-rollout.balrog-migration-done" = true; "doh-rollout.doneFirstRun" = true; "general.useragent.locale" = "en-US"; "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; "extensions.extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; "extensions.update.enabled" = false; "extensions.webcompat.enable_picture_in_picture_overrides" = true; "extensions.webcompat.enable_shims" = true; "extensions.webcompat.perform_injections" = true; "extensions.webcompat.perform_ua_overrides" = true; "privacy.donottrackheader.enabled" = true; "browser.translations.enable" = false; # Yubikey "security.webauth.u2f" = true; "security.webauth.webauthn" = true; "security.webauth.webauthn_enable_softtoken" = false; "security.webauth.webauthn_enable_usbtoken" = true; "toolkit.legacyUserProfileCustomizations.stylesheets" = true; "layout.word_select.stop_at_punctuation" = false; }; in { programs.firefox = { enable = true; package = pkgs.firefox-bin; profiles = { default = { isDefault = true; id = 0; inherit extensions settings userChrome; }; }; }; }