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