diff options
Diffstat (limited to 'home/browsers/firefox')
| -rw-r--r-- | home/browsers/firefox/default.nix | 16 | ||||
| -rw-r--r-- | home/browsers/firefox/extensions.nix | 6 | ||||
| -rw-r--r-- | home/browsers/firefox/policies.nix | 40 | ||||
| -rw-r--r-- | home/browsers/firefox/prefs.nix | 52 |
4 files changed, 103 insertions, 11 deletions
diff --git a/home/browsers/firefox/default.nix b/home/browsers/firefox/default.nix index 608d4c5..724f286 100644 --- a/home/browsers/firefox/default.nix +++ b/home/browsers/firefox/default.nix @@ -7,7 +7,7 @@ extraPrefs = lib.fileContents ./mozilla.cfg; userChrome = lib.fileContents ./userChrome.css; my-firefox = pkgs.firefox.override { - extraPrefs = extraPrefs; + inherit extraPrefs; }; inherit (lib) mkIf; @@ -16,21 +16,29 @@ in { config = mkIf cfg.enable { default.browser = lib.mkDefault "firefox"; + mozilla = { + firefoxNativeMessagingHosts = lib.mkForce []; + thunderbirdNativeMessagingHosts = lib.mkForce []; + }; + programs.firefox = { enable = true; package = my-firefox; # import configuration - policies = import ./policies.nix; + policies = import ./policies.nix {inherit config;}; + + # use xdg dirs + configPath = "${config.xdg.configHome}/mozilla/firefox"; # create profile for me :3 profiles.${config.user} = { search = { force = true; - default = "ddg"; + default = "noai"; }; - userChrome = userChrome; + inherit userChrome; }; }; }; diff --git a/home/browsers/firefox/extensions.nix b/home/browsers/firefox/extensions.nix index e8d6e2c..8eade0d 100644 --- a/home/browsers/firefox/extensions.nix +++ b/home/browsers/firefox/extensions.nix @@ -41,4 +41,10 @@ install_url = "https://www.mrfdev.com/downloads/enhancer_for_youtube-2.0.130.1.xpi"; installation_mode = "force_installed"; }; + + # Indie Wiki Buddy + "{cb31ec5d-c49a-4e5a-b240-16c767444f62}" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/indie-wiki-buddy/latest.xpi"; + installation_mode = "force_installed"; + }; } diff --git a/home/browsers/firefox/policies.nix b/home/browsers/firefox/policies.nix index 243cd9a..52b188c 100644 --- a/home/browsers/firefox/policies.nix +++ b/home/browsers/firefox/policies.nix @@ -1,4 +1,4 @@ -{ +{config, ...}: { # policies to be set in firefox # see: https://mozilla.github.io/policy-templates/ @@ -11,6 +11,9 @@ Cryptomining = true; Fingerprinting = true; EmailTracking = true; + SuspectedFingerprinting = true; + BaselineExceptions = false; + ConvenienceExceptions = false; }; # Certificates @@ -50,7 +53,7 @@ UrlbarInterventions = false; SkipOnboarding = true; MoreFromMozilla = false; - Labs = false; + FirefoxLabs = false; Locked = true; }; @@ -77,7 +80,9 @@ SponsoredTopSites = false; Highlights = false; Pocket = false; + Stories = false; SponsoredPocket = false; + SponsoredStories = false; Snippets = false; Locked = true; }; @@ -91,6 +96,15 @@ Locked = true; }; + # Fuck AI + GenerativeAI = { + Enabled = false; + Chatbot = false; + LinkPreviews = false; + TabGroups = false; + Locked = true; + }; + # Save All on Shutdown SanitizeOnShutdown = false; @@ -118,10 +132,32 @@ DisplayBookmarksToolbar = "newtab"; NoDefaultBookmarks = true; + # Search Engines + SearchEngines = { + Default = "noai"; + Remove = [ + "DuckDuckGo" + "Google" + "Amazon.com" + "Bing" + "eBay" + "Wikipedia (en)" + "Perplexity" + ]; + Add = [ + { + Name = "noai"; + URLTemplate = "https://noai.duckduckgo.com/?q={searchTerms}"; + } + ]; + }; + # Miscellaneous HttpsOnlyMode = "force_enabled"; HardwareAcceleration = true; DontCheckDefaultBrowser = true; PromptForDownloadLocation = false; + DefaultDownloadDirectory = "${config.homePath}/downloads"; PrivateBrowsingModeAvailability = 0; + SkipTermsOfUse = true; } diff --git a/home/browsers/firefox/prefs.nix b/home/browsers/firefox/prefs.nix index 73d2781..123dc4b 100644 --- a/home/browsers/firefox/prefs.nix +++ b/home/browsers/firefox/prefs.nix @@ -56,11 +56,19 @@ in { "browser.urlbar.suggest.openpage" = lock-false; "browser.urlbar.suggest.pocket" = lock-false; "browser.urlbar.suggest.remotetab" = lock-false; + "browser.urlbar.suggest.quickactions" = lock-false; "browser.urlbar.suggest.topsites" = lock-false; "browser.urlbar.suggest.trending" = lock-false; "browser.urlbar.suggest.weather" = lock-false; "browser.urlbar.suggest.yelp" = lock-false; + # search suggestions + "browser.search.suggest.enabled" = lock-true; + "browser.search.suggest.enabled.private" = lock-false; + + # remember history + "places.history.enabled" = lock-true; + # privacy "privacy.globalprivacycontrol.enabled" = lock-true; @@ -116,13 +124,47 @@ in { "browser.tabs.closeTabByDblclick" = lock-true; "ui.key.menuAccessKeyFocuses" = lock-false; + # open links in tabs not new windows + "browser.link.open_newwindow" = { + Value = 3; + Status = "locked"; + }; + + # load images in new tab, dont switch immediately + "browser.link.open_newwindow.override.external" = { + Value = -1; + Status = "locked"; + }; + + # open previous tabs on start + "browser.startup.page" = { + Value = 3; + Status = "locked"; + }; + # general settings - "general.autoScroll" = lock-false; - "general.smoothScroll" = lock-true; - "widget.gtk.overlay-scrollbars.enabled" = lock-false; "accessibility.browsewithcaret" = lock-false; "accessibility.typeaheadfind" = lock-false; - "media.hardwaremediakeys.enabled" = lock-true; - "browser.crashReports.unsubmittedCheck.autoSubmit2" = lock-false; "browser.aboutConfig.showWarning" = lock-false; + "browser.crashReports.unsubmittedCheck.autoSubmit2" = lock-false; + "browser.ctrlTab.sortByRecentlyUsed" = lock-false; + "browser.display.document_color_use" = { + Value = 1; # disable contrast controll + Status = "locked"; + }; + "browser.ml.linkPreview.enabled" = lock-false; + "browser.privatebrowsing.autostart" = lock-false; + "browser.tabs.hoverPreview.showThumbnails" = lock-true; + "browser.tabs.loadInBackground" = lock-true; + "browser.warnOnQuitShortcut" = lock-true; + "browser.zoom.full" = lock-true; + "general.autoScroll" = lock-false; + "general.smoothScroll" = lock-true; + "layout.css.always_underline_links" = lock-false; + "layout.spellcheckDefault" = { + Value = 1; + Status = "locked"; + }; + "media.hardwaremediakeys.enabled" = lock-true; + "widget.gtk.overlay-scrollbars.enabled" = lock-false; } |