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