summaryrefslogtreecommitdiff
path: root/users/seth/module/programs/firefox
diff options
context:
space:
mode:
authorseth <[email protected]>2024-02-03 19:27:26 -0500
committerseth <[email protected]>2024-02-03 20:47:55 -0500
commitfcc60b84e5e3cc44986d40af63f5de488caae909 (patch)
tree45f4455c7dcbc63e59e62a9af79783e2e5509a2e /users/seth/module/programs/firefox
parentde003fa28e56b81a33e831099987cd94d2f53b39 (diff)
make everything a module
Diffstat (limited to 'users/seth/module/programs/firefox')
-rw-r--r--users/seth/module/programs/firefox/arkenfox.nix73
-rw-r--r--users/seth/module/programs/firefox/default.nix54
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;
+ };
+ };
+ };
+ };
+}