diff options
| -rw-r--r-- | flake.lock | 30 | ||||
| -rw-r--r-- | flake.nix | 8 | ||||
| -rw-r--r-- | users/default.nix | 3 | ||||
| -rw-r--r-- | users/seth/default.nix | 2 | ||||
| -rw-r--r-- | users/seth/programs/default.nix | 2 | ||||
| -rw-r--r-- | users/seth/programs/firefox/arkenfox.nix | 72 | ||||
| -rw-r--r-- | users/seth/programs/firefox/default.nix (renamed from users/seth/programs/firefox.nix) | 15 |
7 files changed, 130 insertions, 2 deletions
@@ -26,6 +26,35 @@ "type": "github" } }, + "arkenfox": { + "inputs": { + "flake-compat": [ + "flake-compat" + ], + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ], + "pre-commit": [ + "pre-commit" + ] + }, + "locked": { + "lastModified": 1691919538, + "narHash": "sha256-Er7hGXFZit1VLy8yfEaTCfx0p6RqfMrK+GGT0tixWQM=", + "owner": "dwarfmaster", + "repo": "arkenfox-nixos", + "rev": "9183705626ae64a61f489ffa199d4f825eeaa5fe", + "type": "github" + }, + "original": { + "owner": "dwarfmaster", + "repo": "arkenfox-nixos", + "type": "github" + } + }, "crane": { "inputs": { "flake-compat": "flake-compat_2", @@ -538,6 +567,7 @@ "root": { "inputs": { "agenix": "agenix", + "arkenfox": "arkenfox", "darwin": "darwin", "deploy": "deploy", "effects": "effects", @@ -28,6 +28,14 @@ inputs.home-manager.follows = "hm"; }; + arkenfox = { + url = "github:dwarfmaster/arkenfox-nixos"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-compat.follows = "flake-compat"; + inputs.pre-commit.follows = "pre-commit"; + inputs.flake-utils.follows = "flake-utils"; + }; + deploy = { url = "github:serokell/deploy-rs"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/users/default.nix b/users/default.nix index 2b783d1..47d35bd 100644 --- a/users/default.nix +++ b/users/default.nix @@ -4,7 +4,7 @@ ... }: let inherit (self.lib.configs) genHMModules mapHMUsers; - inherit (inputs) getchoo nixpkgs nix-index-database nur; + inherit (inputs) arkenfox getchoo nixpkgs nix-index-database nur; users = let seth = system: { @@ -15,6 +15,7 @@ modules = [ nix-index-database.hmModules.nix-index + arkenfox.hmModules.arkenfox ]; }; in { diff --git a/users/seth/default.nix b/users/seth/default.nix index 535f88e..80ee1bc 100644 --- a/users/seth/default.nix +++ b/users/seth/default.nix @@ -2,6 +2,7 @@ config, lib, pkgs, + arkenfox, nix-index-database, ... }: { @@ -30,6 +31,7 @@ imports = [ ./home.nix ./module.nix + arkenfox.hmModules.arkenfox nix-index-database.hmModules.nix-index ]; diff --git a/users/seth/programs/default.nix b/users/seth/programs/default.nix index cacda8f..93ba8f5 100644 --- a/users/seth/programs/default.nix +++ b/users/seth/programs/default.nix @@ -11,7 +11,7 @@ in { imports = [ ./chromium.nix - ./firefox.nix + ./firefox ./git.nix ./gpg.nix ./mangohud.nix diff --git a/users/seth/programs/firefox/arkenfox.nix b/users/seth/programs/firefox/arkenfox.nix new file mode 100644 index 0000000..f9aba5a --- /dev/null +++ b/users/seth/programs/firefox/arkenfox.nix @@ -0,0 +1,72 @@ +{ + 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 { + arkenfox = { + enable = true; + version = "115.0"; + }; + + profiles.arkenfox.arkenfox = + recursiveUpdate { + enable = true; + + # enable safe browsing + "0400"."0403"."browser.safebrowsing.downloads.remote.enabled".value = true; + + "0800"."0801"."keyword.enabled".value = true; + + # fix hulu + "1200"."1201"."security.ssl.require_safe_negotiation".value = false; + + # enable drm + "2000" = { + "2021"."media.gmp-widevinecdm.enabled" = { + enable = true; + value = true; + }; + "2022"."media.eme.enabled".value = true; + }; + + "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; + } (enableSections [ + "0100" + "0200" + "0300" + "0400" + "0600" + "0700" + "0800" + "0900" + "1000" + "1200" + "1400" + "1600" + "1700" + "2000" + "2400" + "2600" + "2700" + "2800" + "4500" + ]); + }; +} diff --git a/users/seth/programs/firefox.nix b/users/seth/programs/firefox/default.nix index ed66a27..46d500e 100644 --- a/users/seth/programs/firefox.nix +++ b/users/seth/programs/firefox/default.nix @@ -9,6 +9,10 @@ in { options.getchoo.programs.firefox.enable = mkEnableOption "firefox" // {default = config.getchoo.desktop.enable;}; + imports = [ + ./arkenfox.nix + ]; + config = mkIf cfg.enable { programs.firefox = { enable = true; @@ -19,7 +23,18 @@ in { private-relay ublock-origin ]; + isDefault = true; + + settings = { + "extensions.pocket.enabled" = false; + "identity.fxaccounts.enabled" = false; + + "gfx.webrender.all" = true; + "fission.autostart" = true; + + "media.ffmpeg.vaapi.enabled" = true; + }; }; }; }; |
