diff --git a/nix/homeModules/common/firefox.nix b/nix/homeModules/common/firefox.nix index 357b05f0..4cbb38bb 100644 --- a/nix/homeModules/common/firefox.nix +++ b/nix/homeModules/common/firefox.nix @@ -53,6 +53,10 @@ in "browser.tabs.loadInBackground" = true; "browser.ctrlTab.sortByRecentlyUsed" = false; "layout.css.devPixelsPerPx" = 1.1; + "browser.startup.page" = 1; + "browser.translations.automaticallyPopup" = false; + "browser.tabs.closeWindowWithLastTab" = true; + "general.smoothScroll" = false; # Sponsored crap # Yes diff --git a/nix/homeModules/common/zen-browser.nix b/nix/homeModules/common/zen-browser.nix index e2975bba..8ba46dd0 100644 --- a/nix/homeModules/common/zen-browser.nix +++ b/nix/homeModules/common/zen-browser.nix @@ -1,53 +1,17 @@ { - pkgs, config, lib, ... }: let - inherit (pkgs) nur; - cfg = config.programs.zen-browser; + + firefoxCfg = config.programs.firefox; in { programs.zen-browser = { - # https://mozilla.github.io/policy-templates - # The following have more complex logic, keep them as policies and not profiles - policies = { - RequestedLocales = [ - "fr-FR" # for fuck sake stop showing me translated version of French gov sites - "zh-TW" - "en-US" - ]; + policies = firefoxCfg.policies; - SearchEngines = { - Remove = [ - "Google" - "Bing" - "DuckDuckGo" - "Qwant" - "eBay" - "Perplexity" - ]; - Default = "DuckDuckGo Lite"; - Add = [ - { - Name = "DuckDuckGo Lite"; - URLTemplate = "https://lite.duckduckgo.com/lite/search?q={searchTerms}"; - } - ]; - }; - NoDefaultBookmarks = true; - DisplayMenuBar = "never"; - DisplayBookmarksToolbar = "never"; - DNSOverHTTPS = { - Enabled = false; - }; - }; - - # https://searchfox.org/mozilla-central/source/browser/components/enterprisepolicies/Policies.sys.mjs - # Some policies can be rewritten to profiles configuration - # # "locked" semantic from zen (doesn't seem to be doing anything, attempted for zen-twilight 1.18t) # https://github.com/0xc000022070/zen-browser-flake/tree/main#preferences # @@ -57,87 +21,15 @@ in # - click the buttons # - diff it # diff .zen/default/prefs.js{.bk,} - profiles.default = { - settings = { + profiles.default = lib.mkMerge [ + firefoxCfg.profiles.default + { # Zen specific - "zen.theme.content-element-separation" = 0; # Remove "borders" around window - - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - "browser.tabs.loadInBackground" = true; - "browser.ctrlTab.sortByRecentlyUsed" = false; - "layout.css.devPixelsPerPx" = 1.1; - "browser.startup.page" = 1; - "browser.translations.automaticallyPopup" = false; - "browser.tabs.closeWindowWithLastTab" = true; - "general.smoothScroll" = false; - - # Sponsored crap - # Yes - "browser.newtabpage.activity-stream.showSearch" = true; - "browser.newtabpage.activity-stream.feeds.topsites" = true; - # No - "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; - "browser.newtabpage.activity-stream.feeds.section.highlights" = false; - "browser.newtabpage.activity-stream.feeds.system.topstories" = false; - "browser.newtabpage.activity-stream.feeds.section.topstories" = false; - "browser.newtabpage.activity-stream.showSponsored" = false; - - # URL - # Yes - "browser.urlbar.suggest.quicksuggest.nonsponsored" = true; - # No - "browser.urlbar.suggest.quicksuggest.sponsored" = false; - - # Pasword manager - "signon.rememberSignons" = false; - "services.passwordSavingEnabled" = false; - "pref.privacy.disable_button.view_passwords" = false; - - # Hardware acceleration - "layers.acceleration.disabled" = false; - - # Screenshot - "screenshots.browser.component.enabled" = true; - - # Recommendations - "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false; - "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false; - "extensions.htmlaboutaddons.recommendations.enabled" = false; # Addons - - # Onboarding - "browser.aboutwelcome.enabled" = false; - - # AI crap - "browser.ml.chat.enabled" = false; - "browser.ml.chat.page" = false; - "browser.ml.chat.shortcuts" = false; - "browser.ml.chat.sidebar" = false; - - # Prevent WebRTC leak - # https://mullvad.net/en/help/webrtc - "media.peerconnection.enabled" = false; - }; - - extensions.packages = - let - addons = nur.repos.rycee.firefox-addons; - in - [ - addons.ublock-origin - addons.privacy-badger - addons.user-agent-string-switcher - - /* - Here's to you who want to remove news feed eradicator because you find it annoying: - It is here to annoy you so it is less likely for you to be on the agency inversion path. - DO NOT REMOVE IT. I repeat, DO NOT REMOVE IT. - - If you think it's annoying, go do some jump rope, sing, live. - */ - addons.news-feed-eradicator # did you read the comment above? - addons.multi-account-containers - ]; - }; + settings = { + "zen.theme.content-element-separation" = 0; # Remove "borders" around window + }; + } + ]; }; xdg.mimeApps =