nix-configs

Personal NixOS and home-manager configuration files
Log | Files | Refs

firefox.nix (2021B)


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