From 344d93b7f4aa71b2e02ff6a5287749bb6dccad06 Mon Sep 17 00:00:00 2001
From: tdback <tyler@tdback.net>
Date: Sat, 22 Mar 2025 15:39:56 -0400
Subject: users/tdback: replace firefox with librewolf

---
 users/tdback/desktop.nix                 |   2 +-
 users/tdback/modules/browser/default.nix |  87 +++++++++++++++++++++++
 users/tdback/modules/firefox/default.nix | 115 -------------------------------
 3 files changed, 88 insertions(+), 116 deletions(-)
 create mode 100644 users/tdback/modules/browser/default.nix
 delete mode 100644 users/tdback/modules/firefox/default.nix

(limited to 'users/tdback')

diff --git a/users/tdback/desktop.nix b/users/tdback/desktop.nix
index 0663a96..e0aae95 100644
--- a/users/tdback/desktop.nix
+++ b/users/tdback/desktop.nix
@@ -37,10 +37,10 @@ in
 {
   imports = [
     ./modules/alacritty
+    ./modules/browser
     ./modules/dunst
     ./modules/editor
     ./modules/email
-    ./modules/firefox
     ./modules/mpd
     ./modules/media
     ./modules/rofi
diff --git a/users/tdback/modules/browser/default.nix b/users/tdback/modules/browser/default.nix
new file mode 100644
index 0000000..5b8e679
--- /dev/null
+++ b/users/tdback/modules/browser/default.nix
@@ -0,0 +1,87 @@
+# users/tdback/modules/browser/default.nix
+#
+# Because google sucks.
+
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}:
+let
+  lock-false = {
+    Value = false;
+    Status = "locked";
+  };
+  lock-true = {
+    Value = true;
+    Status = "locked";
+  };
+in
+{
+  programs.librewolf = {
+    enable = true;
+    package = pkgs.unstable.librewolf;
+
+    # Tweak settings in about:config.
+    policies.Preferences = {
+      "extensions.screenshots.disabled" = lock-true;
+      "browser.topsites.contile.enabled" = lock-false;
+      "browser.formfill.enable" = lock-false;
+      "browser.search.suggest.enabled" = lock-false;
+      "browser.search.suggest.enabled.private" = lock-false;
+      "browser.urlbar.suggest.searches" = lock-false;
+      "browser.urlbar.showSearchSuggestionsFirst" = lock-false;
+      "browser.newtabpage.activity-stream.feeds.snippets" = lock-false;
+      "browser.newtabpage.activity-stream.section.highlights.includePocket" = lock-false;
+      "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = lock-false;
+      "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = lock-false;
+      "browser.newtabpage.activity-stream.section.highlights.includeVisited" = lock-false;
+      "browser.newtabpage.activity-stream.system.showSponsored" = lock-false;
+    };
+
+    policies.ExtensionSettings = {
+      # Block all extensions except those defined below.
+      "*".installation_mode = "blocked";
+
+      # uBlock Origin
+      "uBlock0@raymondhill.net" = {
+        install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
+        installation_mode = "force_installed";
+      };
+
+      # Bitwarden
+      "{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
+        install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi";
+        installation_mode = "force_installed";
+      };
+
+      # Dark Reader
+      "addon@darkreader.org" = {
+        install_url = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
+        installation_mode = "force_installed";
+      };
+    };
+
+    # Setup a default profile for our user.
+    profiles.${config.home.username}.search = {
+      force = true;
+      default = "searx";
+      order = [ "searx" ];
+      engines = {
+        "Amazon.com".metaData.hidden = true;
+        "Bing".metaData.hidden = true;
+        "eBay".metaData.hidden = true;
+        "Google".metaData.hidden = true;
+        "Wikipedia (en)".metaData.alias = "@w";
+        "searx" = {
+          urls = lib.singleton {
+            template = "http://10.44.4.100:8888/?q={searchTerms}";
+          };
+          updateInterval = 24 * 60 * 60 * 1000;
+          definedAliases = [ "@sx" ];
+        };
+      };
+    };
+  };
+}
diff --git a/users/tdback/modules/firefox/default.nix b/users/tdback/modules/firefox/default.nix
deleted file mode 100644
index aadbb33..0000000
--- a/users/tdback/modules/firefox/default.nix
+++ /dev/null
@@ -1,115 +0,0 @@
-# users/tdback/modules/firefox/default.nix
-#
-# Because google sucks.
-#
-# TODO: Replace firefox with librewolf?
-
-{
-  config,
-  lib,
-  pkgs,
-  ...
-}:
-let
-  lock-false = {
-    Value = false;
-    Status = "locked";
-  };
-  lock-true = {
-    Value = true;
-    Status = "locked";
-  };
-in
-{
-  programs.firefox = {
-    enable = true;
-    package = pkgs.unstable.firefox;
-
-    policies = {
-      # about:policies
-      DisableTelemetry = true;
-      DisableFirefoxStudies = true;
-      DisablePocket = true;
-      DisableFirefoxAccounts = true;
-      DisableAccounts = true;
-      DisplayBookmarksToolbar = "newtab";
-      DisplayMenuBar = "default-off";
-      SearchBar = "unified";
-      OfferToSaveLogins = false;
-      EnableTrackingProtection = {
-        Value = true;
-        Locked = true;
-        Cryptomining = true;
-        Fingerprinting = true;
-      };
-
-      # about:config
-      Preferences = {
-        "browser.contentblocking.category" = {
-          Value = "strict";
-          Status = "locked";
-        };
-        "extensions.pocket.enabled" = lock-false;
-        "extensions.screenshots.disabled" = lock-true;
-        "browser.topsites.contile.enabled" = lock-false;
-        "browser.formfill.enable" = lock-false;
-        "browser.search.suggest.enabled" = lock-false;
-        "browser.search.suggest.enabled.private" = lock-false;
-        "browser.urlbar.suggest.searches" = lock-false;
-        "browser.urlbar.showSearchSuggestionsFirst" = lock-false;
-        "browser.newtabpage.activity-stream.feeds.section.topstories" = lock-false;
-        "browser.newtabpage.activity-stream.feeds.snippets" = lock-false;
-        "browser.newtabpage.activity-stream.section.highlights.includePocket" = lock-false;
-        "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = lock-false;
-        "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = lock-false;
-        "browser.newtabpage.activity-stream.section.highlights.includeVisited" = lock-false;
-        "browser.newtabpage.activity-stream.showSponsored" = lock-false;
-        "browser.newtabpage.activity-stream.system.showSponsored" = lock-false;
-        "browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false;
-      };
-
-      ExtensionSettings = {
-        # Block all extensions except those defined below.
-        "*".installation_mode = "blocked";
-
-        # uBlock Origin
-        "uBlock0@raymondhill.net" = {
-          install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
-          installation_mode = "force_installed";
-        };
-
-        # Bitwarden
-        "{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
-          install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi";
-          installation_mode = "force_installed";
-        };
-
-        # Dark Reader
-        "addon@darkreader.org" = {
-          install_url = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
-          installation_mode = "force_installed";
-        };
-      };
-    };
-
-    profiles.${config.home.username}.search = {
-      force = true;
-      default = "searx";
-      order = [ "searx" ];
-      engines = {
-        "Amazon.com".metaData.hidden = true;
-        "Bing".metaData.hidden = true;
-        "eBay".metaData.hidden = true;
-        "Google".metaData.hidden = true;
-        "Wikipedia (en)".metaData.alias = "@w";
-        "searx" = {
-          urls = lib.singleton {
-            template = "http://10.44.4.100:8888/?q={searchTerms}";
-          };
-          updateInterval = 24 * 60 * 60 * 1000;
-          definedAliases = [ "@sx" ];
-        };
-      };
-    };
-  };
-}
-- 
cgit v1.2.3