diff options
Diffstat (limited to 'parts/users/seth/programs/firefox')
| -rw-r--r-- | parts/users/seth/programs/firefox/arkenfox.nix | 71 | ||||
| -rw-r--r-- | parts/users/seth/programs/firefox/default.nix | 50 |
2 files changed, 121 insertions, 0 deletions
diff --git a/parts/users/seth/programs/firefox/arkenfox.nix b/parts/users/seth/programs/firefox/arkenfox.nix new file mode 100644 index 0000000..3da3a25 --- /dev/null +++ b/parts/users/seth/programs/firefox/arkenfox.nix @@ -0,0 +1,71 @@ +{ + config, + lib, + ... +}: let + cfg = config.getchoo.programs.firefox; + inherit (lib) genAttrs mkEnableOption mkIf recursiveUpdate; + + enableSections = sections: genAttrs sections (_: {enable = true;}); +in { + options.getchoo.programs.firefox.arkenfoxConfig.enable = + mkEnableOption "default arkenfox config" // {default = true;}; + + config.programs.firefox = mkIf (cfg.enable && cfg.arkenfoxConfig.enable) { + arkenfox = { + enable = true; + version = "115.1"; + }; + + profiles.arkenfox.arkenfox = + recursiveUpdate { + enable = true; + + # enable safe browsing + "0400"."0403"."browser.safebrowsing.downloads.remote.enabled".value = true; + + # fix hulu + "1200"."1201"."security.ssl.require_safe_negotiation".value = false; + + "2600"."2651"."browser.download.useDownloadDir" = { + enable = true; + value = true; + }; + + # disable rfp letterboxing + "4500"."4504"."privacy.resistFingerprinting.letterboxing".value = false; + + "5000" = { + "5003"."signon.rememberSignons".enable = true; + # enable search autocomplete + "5021"."keyword.enabled".value = true; + }; + + # enable drm + "5500"."5508"."media.eme.enabled" = { + enable = true; + value = true; + }; + } (enableSections [ + "0100" + "0200" + "0300" + "0400" + "0600" + "0700" + "0800" + "0900" + "1000" + "1200" + "1400" + "1600" + "1700" + "2000" + "2400" + "2600" + "2700" + "2800" + "4500" + ]); + }; +} diff --git a/parts/users/seth/programs/firefox/default.nix b/parts/users/seth/programs/firefox/default.nix new file mode 100644 index 0000000..82ba80d --- /dev/null +++ b/parts/users/seth/programs/firefox/default.nix @@ -0,0 +1,50 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.getchoo.programs.firefox; + inherit (lib) mkEnableOption mkIf; +in { + options.getchoo.programs.firefox.enable = mkEnableOption "firefox" // {default = config.getchoo.desktop.enable;}; + + imports = [ + ./arkenfox.nix + ]; + + config = mkIf cfg.enable { + home.sessionVariables = { + MOZ_ENABLE_WAYLAND = "1"; + }; + + programs.firefox = { + enable = true; + profiles.arkenfox = { + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + bitwarden + floccus + private-relay + ublock-origin + ]; + + isDefault = true; + + settings = { + # disable firefox accounts & pocket + "extensions.pocket.enabled" = false; + "identity.fxaccounts.enabled" = false; + + "gfx.webrender.all" = true; + "fission.autostart" = true; + + # hw accel + "media.ffmpeg.vaapi.enabled" = true; + + # widevine drm + "media.gmp-widevinecdm.enabled" = true; + }; + }; + }; + }; +} |
