nix-configs

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

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 }