about summary refs log tree commit diff
path: root/nix/profiles/home-manager/firefox.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix/profiles/home-manager/firefox.nix')
-rw-r--r--nix/profiles/home-manager/firefox.nix95
1 files changed, 95 insertions, 0 deletions
diff --git a/nix/profiles/home-manager/firefox.nix b/nix/profiles/home-manager/firefox.nix
new file mode 100644
index 0000000..a982a2e
--- /dev/null
+++ b/nix/profiles/home-manager/firefox.nix
@@ -0,0 +1,95 @@
+{ pkgs, ... }: {
+  programs.firefox = {
+    enable = true;
+    package = pkgs.firefox-bin;
+    profiles.default = {
+      isDefault = true;
+      extensions = with pkgs.nur.repos.rycee.firefox-addons; [
+        ublock-origin
+        onepassword-password-manager
+      ];
+      bookmarks = [
+        {
+          name = "GitHub Notifications";
+          keyword = "n";
+          url = "https://github.com/notifications?query=is%3Aunread";
+        }
+        {
+          name = "GitHub Pull Requests";
+          keyword = "p";
+          url = "https://github.com/pulls";
+        }
+      ];
+      search = {
+        default = "DuckDuckGo";
+        engines = {
+          "Nix Packages" = {
+            urls = [
+              {
+                template = "https://search.nixos.org/packages";
+                params = [
+                  {
+                    name = "type";
+                    value = "packages";
+                  }
+                  {
+                    name = "query";
+                    value = "{searchTerms}";
+                  }
+                ];
+              }
+            ];
+            icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+            definedAliases = [ "np" ];
+          };
+          "Google".metaData.hidden = true;
+          "Amazon.com".metaData.hidden = true;
+          "Bing".metaData.hidden = true;
+          "eBay".metaData.hidden = true;
+          "Wikipedia (en)".metaData.alias = "w";
+        };
+        force = true;
+      };
+      settings = {
+        "app.update.auto" = false;
+        "app.shield.optoutstudies.enabled" = false;
+
+        "browser.bookmarks.restore_default_bookmarks" = false;
+        "browser.bookmarks.showMobileBookmarks" = false;
+        "browser.compactmode.show" = true;
+        "browser.urlbar.placeholderName" = "search";
+        "browser.shell.checkDefaultBrowser" = false;
+        "browser.contentblocking.category" = "strict";
+        "browser.startup.page" = 3; # Restore previous windows and tabs on startup.
+        "browser.warnOnQuit" = false;
+        "browser.formfill.enable" = false;
+        "browser.newtabpage.enabled" = false; # Make new tabs blank
+        "browser.newtabpage.activity-stream.feeds.section.topstories" = false;
+        "browser.newtabpage.activity-stream.feeds.telemetry" = false;
+        "browser.newtabpage.activity-stream.feeds.topsites" = false;
+        "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.havePinned" = "duckduckgo";
+        "browser.newtabpage.activity-stream.showSponsored" = false;
+        "browser.newtabpage.activity-stream.telemetry" = false;
+        "browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
+        "browser.urlbar.suggest.quicksuggest.sponsored" = false;
+
+        "dom.forms.autocomplete.formautofill" = false; # Disable autofill
+
+        "extensions.formautofill.addresses.enabled" = false;
+        "extensions.formautofill.creditCards.enabled" = false; # Disable credit cards
+        "extensions.htmlaboutaddons.inline-options.enabled" = false;
+        "extensions.htmlaboutaddons.recommendations.enabled" = false;
+        "extensions.pocket.enabled" = false;
+        "extensions.pocket.showHome" = false;
+
+        # Disable Sponsored Top Sites
+        "services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSite" = false;
+
+        "network.http.referer.spoofSource" = true;
+
+        "privacy.donottrackheader.value" = 1;
+        "privacy.donottrackheader.enabled" = true;
+      };
+    };
+  };
+}