{ 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 keepassxc-browser ]; userChrome = builtins.readFile ./userChrome.css; # ~/.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; # disable tab preview on hover "browser.tabs.hoverPreview.enabled" = false; "browser.tabs.hoverPreview.showThumbnails" = 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; # Yubikey "security.webauth.u2f" = true; "security.webauth.webauthn" = true; "security.webauth.webauthn_enable_softtoken" = false; "security.webauth.webauthn_enable_usbtoken" = true; "network.dns.ipv4OnlyDomains" = "google.com"; "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; }; }; # webapps = { # rocket-chat = { # url = "https://chat.hetzner.company"; # id = 1; # genericName = "Internet Messenger"; # categories = ["Network" "InstantMessaging"]; # }; # }; }; }