From 0828966dfdaa995f6dfe43f5e8b1b3a0eb80940c Mon Sep 17 00:00:00 2001
From: Oliver Davies <oliver@oliverdavies.dev>
Date: Thu, 6 Mar 2025 23:55:05 +0000
Subject: [PATCH] Switch to Brave

---
 nix/home/opdavies/desktop/default.nix        |   1 -
 nix/home/opdavies/desktop/firefox.nix        | 110 -------------------
 nix/home/opdavies/hosts/t490.nix             |   1 +
 nix/modules/home-manager/desktop/brave.nix   |  28 +++++
 nix/modules/home-manager/desktop/default.nix |   1 +
 nix/modules/nixos/desktop/dwm.nix            |   2 +-
 6 files changed, 31 insertions(+), 112 deletions(-)
 delete mode 100644 nix/home/opdavies/desktop/firefox.nix
 create mode 100644 nix/modules/home-manager/desktop/brave.nix

diff --git a/nix/home/opdavies/desktop/default.nix b/nix/home/opdavies/desktop/default.nix
index c24100d3..5ae3822b 100644
--- a/nix/home/opdavies/desktop/default.nix
+++ b/nix/home/opdavies/desktop/default.nix
@@ -2,7 +2,6 @@
 
 {
   imports = [
-    ./firefox.nix
     ./qutebrowser.nix
   ];
 
diff --git a/nix/home/opdavies/desktop/firefox.nix b/nix/home/opdavies/desktop/firefox.nix
deleted file mode 100644
index c79d8286..00000000
--- a/nix/home/opdavies/desktop/firefox.nix
+++ /dev/null
@@ -1,110 +0,0 @@
-{ pkgs, ... }:
-
-{
-  programs.firefox.enable = false;
-
-  programs.librewolf = {
-    enable = true;
-
-    languagePacks = [ "en-GB" ];
-
-    policies = {
-      CaptivePortal = false;
-      DisableFirefoxAccounts = true;
-      DisableFirefoxStudies = true;
-      DisablePocket = true;
-      DisableTelemetry = true;
-
-      EnableTrackingProtection = {
-        Cryptomining = true;
-        Fingerprinting = true;
-        Value = true;
-      };
-
-      ExtensionSettings = {
-        "jid1-ZAdIEUB7XOzOJw@jetpack" = {
-          install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi";
-          installation_mode = "force_installed";
-        };
-
-        "uBlock0@raymondhill.net" = {
-          install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
-          installation_mode = "force_installed";
-        };
-      };
-
-      FirefoxHome = {
-        Highlights = false;
-        Pocket = false;
-        Search = true;
-        Snippets = false;
-        SponsoredPocket = false;
-        SponsoredTopSites = false;
-        TopSites = true;
-      };
-
-      FirefoxSuggest = {
-        ImproveSuggest = false;
-        SponsoredSuggestions = false;
-        WebSuggestions = false;
-      };
-
-      NoDefaultBookmarks = true;
-      OfferToSaveLogins = false;
-      OfferToSaveLoginsDefault = false;
-      PasswordManagerEnabled = false;
-
-      Preferences = {
-        "cookiebanners.service.mode" = 2; # Block cookie banners
-        "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing
-        "privacy.donottrackheader.enabled" = true;
-        "privacy.fingerprintingProtection" = true;
-        "privacy.resistFingerprinting" = true;
-        "privacy.trackingprotection.emailtracking.enabled" = true;
-        "privacy.trackingprotection.enabled" = true;
-        "privacy.trackingprotection.fingerprinting.enabled" = true;
-        "privacy.trackingprotection.socialtracking.enabled" = true;
-      };
-
-      HardwareAcceleration = true;
-      TranslateEnabled = true;
-
-      UserMessaging = {
-        ExtensionRecommendations = false;
-        UrlbarInterventions = false;
-        SkipOnboarding = true;
-      };
-    };
-
-    profiles = {
-      default = {
-        extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
-          awesome-rss
-          bitwarden
-          darkreader
-          onetab
-          tree-style-tab
-          ublock-origin
-          videospeed
-          vimium
-          web-developer
-        ];
-
-        search = {
-          default = "DuckDuckGo";
-          force = true;
-          privateDefault = "DuckDuckGo";
-        };
-
-        settings = {
-          "browser.search.isUS" = false;
-          "browser.search.region" = "GB";
-          "distribution.searchplugins.defaultLocale" = "en-GB";
-          "general.useragent.locale" = "en-GB";
-          "intl.accept_languages" = "en-GB, en";
-          "intl.regional_prefs.use_os_locales" = true;
-        };
-      };
-    };
-  };
-}
diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix
index b18ad5a2..baaba985 100644
--- a/nix/home/opdavies/hosts/t490.nix
+++ b/nix/home/opdavies/hosts/t490.nix
@@ -3,6 +3,7 @@
 {
   homeManagerModules = {
     bluetuith.enable = true;
+    brave.enable = true;
     copyq.enable = true;
     direnv.enable = true;
     discord.enable = true;
diff --git a/nix/modules/home-manager/desktop/brave.nix b/nix/modules/home-manager/desktop/brave.nix
new file mode 100644
index 00000000..f3fb4047
--- /dev/null
+++ b/nix/modules/home-manager/desktop/brave.nix
@@ -0,0 +1,28 @@
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}:
+
+with lib;
+
+{
+  options.homeManagerModules.brave.enable = mkEnableOption "Enable brave";
+
+  config = mkIf config.homeManagerModules.brave.enable {
+    programs.chromium = {
+      enable = true;
+      package = pkgs.brave;
+
+      extensions = [
+        "cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
+        "eimadpbcbfnmbkopoojfekhnkhdbieeh" # Dark Reader
+        "chphlpgkkbolifaimnlloiipkdnihall" # OneTab
+        "nffaoalbilbmmfgbnbgppjihopabppdk" # Video Speed Controller
+        "dbepggeogbaibhgnhhndojpepiihcmeb" # Vimium
+        "bfbameneiokkgbdmiekhjnmfkcnldhhm" # Web Developer
+      ];
+    };
+  };
+}
diff --git a/nix/modules/home-manager/desktop/default.nix b/nix/modules/home-manager/desktop/default.nix
index 5da8fd3c..eee83d0b 100644
--- a/nix/modules/home-manager/desktop/default.nix
+++ b/nix/modules/home-manager/desktop/default.nix
@@ -1,5 +1,6 @@
 {
   imports = [
+    ./brave.nix
     ./copyq.nix
     ./discord.nix
     ./dwm.nix
diff --git a/nix/modules/nixos/desktop/dwm.nix b/nix/modules/nixos/desktop/dwm.nix
index 6654f106..d39ad869 100644
--- a/nix/modules/nixos/desktop/dwm.nix
+++ b/nix/modules/nixos/desktop/dwm.nix
@@ -113,7 +113,7 @@ with lib;
                 TAGKEYS(XK_8, 7)
                 TAGKEYS(XK_9, 8)
                 { MODKEY|ShiftMask, XK_q, quit, {0} },
-                { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${pkgs.librewolf}/bin/librewolf") },
+                { MODKEY|ShiftMask, XK_b, spawn, SHCMD("${lib.getExe pkgs.brave}") },
                 { MODKEY|ShiftMask, XK_f, spawn, SHCMD("${pkgs.xfce.thunar}/bin/thunar") },
                 { MODKEY|ShiftMask, XK_i, spawn, SHCMD("${pkgs.xdotool}/bin/xdotool type $(cat ~/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)") },
                 { MODKEY|ShiftMask, XK_p, spawn, {.v = (const char*[]){ "${pkgs.pass}/bin/passmenu", "-i", "-l", "50", NULL} } },