nix-configs

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

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 }