{ inputs, nixosConfig, pkgs, ... }: let nur = import inputs.nur { nurpkgs = pkgs; inherit pkgs; }; isGnome = nixosConfig.services.xserver.desktopManager.gnome.enable; extensions = with nur.repos.rycee.firefox-addons; [ ublock-origin stylus tampermonkey search-engines-helper search-by-image offline-qr-code-generator i-dont-care-about-cookies don-t-fuck-with-paste amp2html a11ycss ]; in { programs.firefox = { enable = true; package = pkgs.firefox.override { cfg = { # for gnome media shenanigans enableGnomeExtensions = isGnome; }; }; profiles."profile" = { name = "profile"; id = 0; isDefault = true; inherit extensions; settings = { "app.normandy.first_run" = false; "browser.search.region" = "GB"; "intl.locale.requested" = "en-GB,en-US"; # theme "layout.css.prefers-color-scheme.content-override" = "0"; # less junk on homescreen "extensions.htmlaboutaddons.recommendations.enabled" = false; "browser.newtabpage.activity-stream.feeds.recommendationprovider" = false; "browser.newtabpage.activity-stream.feeds.section.topstories" = false; "browser.newtabpage.activity-stream.feeds.topsites" = false; "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false; "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false; "browser.newtabpage.activity-stream.section.highlights.includePocket" = false; "browser.newtabpage.activity-stream.section.highlights.includeVisited" = false; "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false; "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false; # dont use any form autofill "signon.autofillForms" = false; "signon.generation.enabled" = false; "signon.management.page.breach-alerts.enabled" = false; "signon.rememberSignons" = false; "dom.forms.autocomplete.formautofill" = false; "extensions.formautofill.creditCards.enabled" = false; "browser.formfill.enable" = false; # disable search suggestions "browser.search.suggest.enabled" = false; # no telemetry "toolkit.telemetry.enabled" = false; "datareporting.healthreport.uploadEnabled" = false; "app.shield.optoutstudies.enabled" = false; # disable pocket "browser.pocket.enabled" = false; "extensions.pocket.enabled" = false; # no safebrowsing "browser.safebrowsing.enabled " = false; "browser.safebrowsing.phishing.enabled" = false; "browser.safebrowsing.malware.enabled" = false; "browser.safebrowsing.downloads.enabled" = false; # don't let websites replace right click "dom.event.contextmenu.enabled" = false; # disable geoip "geo.enabled" = false; "geo.wifi.uri" = ""; "browser.search.geoip.url" = ""; # enable widevine "media.eme.enabled" = true; "media.gmp-widevinecdm.enabled" = true; # browser toolbar and UI # may need updating when extensions change "browser.toolbars.bookmarks.visibility" = "always"; "layout.css.devPixelsPerPx" = "0.8"; "browser.uiCustomization.state" = builtins.toJSON { currentVersion = 18; dirtyAreaCache = [ "nav-bar" "PersonalToolbar" "toolbar-menubar" "TabsToolbar" "widget-overflow-fixed-list" ]; newElementCount = 22; placements = { PersonalToolbar = ["import-button" "personal-bookmarks"]; TabsToolbar = ["tabbrowser-tabs" "new-tab-button" "alltabs-button"]; nav-bar = [ "back-button" "forward-button" "stop-reload-button" "urlbar-container" "downloads-button" "ublock0_raymondhill_net-browser-action" "firefox_tampermonkey_net-browser-action" "_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action" "offline-qr-code_rugk_github_io-browser-action" ]; toolbar-menubar = ["menubar-items"]; widget-overflow-fixed-list = [ "a11y_css_ffoodd-browser-action" "dontfuckwithpaste_raim_ist-browser-action" "jid1-kkzogwgsw3ao4q_jetpack-browser-action" "_65a2d764-7358-455b-930d-5afa86fb5ed0_-browser-action" "_2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c_-browser-action" ]; }; seen = [ "save-to-pocket-button" "developer-button" "a11y_css_ffoodd-browser-action" "dontfuckwithpaste_raim_ist-browser-action" "jid1-kkzogwgsw3ao4q_jetpack-browser-action" "offline-qr-code_rugk_github_io-browser-action" "ublock0_raymondhill_net-browser-action" "firefox_tampermonkey_net-browser-action" "_65a2d764-7358-455b-930d-5afa86fb5ed0_-browser-action" "_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action" "_2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c_-browser-action" ]; }; }; }; }; }