firefox.nix (2082B)
1 { config, pkgs, ... }: 2 3 { 4 programs.firefox = { 5 enable = true; 6 7 profiles = { 8 default = { 9 id = 0; 10 name = "default"; 11 isDefault = true; 12 13 settings = { 14 "browser.aboutConfig.showWarning" = false; 15 "browser.toolbars.bookmarks.visibility" = "never"; 16 "browser.ml.linkPreview.enabled" = false; # long press link previews 17 "browser.tabs.groups.enabled" = false; 18 "browser.newtab.extensionControlled" = true; # don't warn new tab page has changed 19 "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false; # recommend extensions while I browse 20 "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false; # recommend features while I browse 21 "browser.startup.couldRestoreSession.count" = "2"; # restore tabs on startup banner 22 "browser.startup.homepage" = "https://breadcat.github.io/startpage/"; 23 "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; 24 "extensions.autoDisableScopes" = 0; # enable extensions by default 25 "general.autoScroll" = true; # middle mouse page scroll instead of paste 26 "media.videocontrols.picture-in-picture.enabled" = false; # disable pip entirely 27 "media.videocontrols.picture-in-picture.video-toggle.enabled" = false; # disable pip popup 28 }; 29 30 extensions = { 31 packages = with pkgs.nur.repos.rycee.firefox-addons; [ 32 cookie-autodelete 33 new-tab-override 34 ublock-origin 35 ]; 36 37 }; 38 39 }; 40 }; 41 42 policies = { 43 DisableFirefoxAccounts = true; 44 DisableFirefoxStudies = true; 45 DisablePocket = true; 46 DisableTelemetry = true; 47 }; 48 }; 49 50 home.sessionVariables = { 51 BROWSER = "firefox"; 52 MOZ_ENABLE_WAYLAND = 1; 53 }; 54 55 xdg.mimeApps.defaultApplications = { 56 "text/html" = ["firefox.desktop"]; 57 "text/xml" = ["firefox.desktop"]; 58 "x-scheme-handler/http" = ["firefox.desktop"]; 59 "x-scheme-handler/https" = ["firefox.desktop"]; 60 }; 61 62 }