summaryrefslogtreecommitdiff
path: root/users/seth/mixins/firefox.nix
diff options
context:
space:
mode:
Diffstat (limited to 'users/seth/mixins/firefox.nix')
-rw-r--r--users/seth/mixins/firefox.nix84
1 files changed, 84 insertions, 0 deletions
diff --git a/users/seth/mixins/firefox.nix b/users/seth/mixins/firefox.nix
new file mode 100644
index 0000000..eb0e820
--- /dev/null
+++ b/users/seth/mixins/firefox.nix
@@ -0,0 +1,84 @@
+{
+ lib,
+ osConfig,
+ inputs,
+ ...
+}:
+
+let
+ usingNvidia = lib.elem "nvidia" osConfig.services.xserver.videoDrivers or [ ];
+in
+
+{
+ imports = [
+ inputs.getchpkgs.homeModules.arkenfox
+ inputs.getchpkgs.homeModules.firefox-addons
+ ];
+
+ config = lib.mkMerge [
+ {
+ programs.firefox = {
+ addons = [
+ # uBlock Origin
+ { id = "[email protected]"; }
+ # Bitwarden
+ { id = "{446900e4-71c2-419f-a6a7-df9c091e268b}"; }
+ # Floccus
+ { id = "[email protected]"; }
+ ];
+
+ profiles.arkenfox = {
+ arkenfox = {
+ enable = true;
+ version = "133.0";
+ };
+
+ isDefault = true;
+
+ settings = {
+ # Disable Firefox Accounts & Pocket
+ "extensions.pocket.enabled" = false;
+ "identity.fxaccounts.enabled" = false;
+
+ # Hardware acceleration
+ "media.ffmpeg.vaapi.enabled" = true;
+
+ # Widevine drm
+ "media.gmp-widevinecdm.enabled" = true;
+
+ # ===
+ ## Arkenfox overrides
+ # ===
+
+ # 1201: Fix Hulu
+ "security.ssl.require_safe_negotiation" = false;
+
+ # 2651: Download to my downloads
+ "browser.download.useDownloadDir" = true;
+
+ # 5003: I use Bitwarden
+ "signon.rememberSignons" = true;
+ # 5021: Enable search from URL bar by default
+ "keyword.enabled" = true;
+ };
+ };
+ };
+ }
+
+ # Required workarounds for nvidia-vaapi-driver
+ # https://github.com/elFarto/nvidia-vaapi-driver?tab=readme-ov-file#firefox
+ (lib.mkIf usingNvidia {
+ home.sessionVariables = {
+ MOZ_DISABLE_RDD_SANDBOX = "1";
+ };
+
+ programs.firefox = {
+ profiles.arkenfox.settings = {
+ "media.av1.enabled" = false;
+ "media.rdd-ffmpeg.enabled" = true;
+ "widget.dmabuf.force-enabled" = true;
+ };
+ };
+ })
+ ];
+}