diff options
| author | seth <[email protected]> | 2024-02-03 19:27:26 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2024-02-03 20:47:55 -0500 |
| commit | fcc60b84e5e3cc44986d40af63f5de488caae909 (patch) | |
| tree | 45f4455c7dcbc63e59e62a9af79783e2e5509a2e /users/seth/module/programs/firefox | |
| parent | de003fa28e56b81a33e831099987cd94d2f53b39 (diff) | |
make everything a module
Diffstat (limited to 'users/seth/module/programs/firefox')
| -rw-r--r-- | users/seth/module/programs/firefox/arkenfox.nix | 73 | ||||
| -rw-r--r-- | users/seth/module/programs/firefox/default.nix | 54 |
2 files changed, 127 insertions, 0 deletions
diff --git a/users/seth/module/programs/firefox/arkenfox.nix b/users/seth/module/programs/firefox/arkenfox.nix new file mode 100644 index 0000000..eb17666 --- /dev/null +++ b/users/seth/module/programs/firefox/arkenfox.nix @@ -0,0 +1,73 @@ +{ + config, + lib, + inputs, + ... +}: let + cfg = config.seth.programs.firefox.arkenfox; +in { + imports = [inputs.arkenfox.hmModules.arkenfox]; + + options.seth.programs.firefox.arkenfox = { + enable = + lib.mkEnableOption "Arkenfox settings for Firefox" + // { + default = config.seth.programs.firefox.enable; + }; + }; + + config = lib.mkIf cfg.enable { + programs.firefox = { + arkenfox = { + enable = true; + version = "119.0"; + }; + + profiles.arkenfox.arkenfox = let + enableSections = sections: lib.genAttrs sections (_: {enable = true;}); + in + lib.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; + }; + } (enableSections [ + "0100" + "0200" + "0300" + "0400" + "0600" + "0700" + "0800" + "0900" + "1000" + "1200" + "1600" + "1700" + "2000" + "2400" + "2600" + "2700" + "2800" + "4500" + ]); + }; + }; +} diff --git a/users/seth/module/programs/firefox/default.nix b/users/seth/module/programs/firefox/default.nix new file mode 100644 index 0000000..fed31c5 --- /dev/null +++ b/users/seth/module/programs/firefox/default.nix @@ -0,0 +1,54 @@ +{ + config, + lib, + inputs, + pkgs, + ... +}: let + cfg = config.seth.programs.firefox; + + inherit (pkgs.stdenv.hostPlatform) system; +in { + options.seth.programs.firefox = { + enable = + lib.mkEnableOption "Firefox configuration" + // { + default = config.seth.desktop.enable; + }; + }; + + imports = [ + ./arkenfox.nix + ]; + + config = lib.mkIf cfg.enable { + home.sessionVariables = { + MOZ_ENABLE_WAYLAND = "1"; + }; + + programs.firefox = { + enable = true; + profiles.arkenfox = { + extensions = with inputs.firefox-addons.packages.${system}; [ + bitwarden + floccus + ublock-origin + ]; + + isDefault = true; + + settings = { + # disable firefox accounts & pocket + "extensions.pocket.enabled" = false; + "identity.fxaccounts.enabled" = false; + + # hw accel + "media.ffmpeg.vaapi.enabled" = true; + + # widevine drm + "media.gmp-widevinecdm.enabled" = true; + }; + }; + }; + }; +} |
