From 18c3d21675096b6ad2ba406dcbc52a21283765de Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Mon, 10 Nov 2025 15:01:55 -0500 Subject: [PATCH] enable widevine for chromium and firefox --- flake.nix | 1 + home/all.nix | 5 ++++- hosts/all.nix | 12 ++++++++++++ packages/widevine-firefox/overlay.nix | 3 +++ packages/widevine-firefox/package.nix | 19 +++++++++++++++++++ 5 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 packages/widevine-firefox/overlay.nix create mode 100644 packages/widevine-firefox/package.nix diff --git a/flake.nix b/flake.nix index b9cea53..8899e4a 100644 --- a/flake.nix +++ b/flake.nix @@ -63,6 +63,7 @@ modules = [ { nixpkgs.overlays = [ + (import ./packages/widevine-firefox/overlay.nix) (import ./packages/strawberry/overlay.nix) ]; } diff --git a/home/all.nix b/home/all.nix index 65c5b2d..9f55132 100755 --- a/home/all.nix +++ b/home/all.nix @@ -17,12 +17,15 @@ wl-clipboard openmw nixfmt-rfc-style - chromium + (chromium.override { + enableWideVine = true; + }) widevine-cdm strawberry-master spotify-player input-leap libreoffice-qt-fresh + spotdl kde-rounded-corners kdePackages.partitionmanager diff --git a/hosts/all.nix b/hosts/all.nix index 0c9b776..7235503 100755 --- a/hosts/all.nix +++ b/hosts/all.nix @@ -133,6 +133,10 @@ in security.sudo.wheelNeedsPassword = false; + environment.sessionVariables = rec { + MOZ_GMP_PATH = "${pkgs.widevine-firefox}/gmp-widevinecdm/system-installed"; + }; + programs.firefox = { enable = true; preferences = { @@ -157,6 +161,14 @@ in "browser.newtabpage.activity-stream.showSponsored" = false; "browser.newtabpage.activity-stream.system.showSponsored" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + + "media.gmp-widevinecdm.version" = "system-installed"; + "media.gmp-widevinecdm.visible" = true; + "media.gmp-widevinecdm.enabled" = true; + "media.gmp-widevinecdm.autoupdate" = false; + + "media.eme.enabled" = true; + "media.eme.encrypted-media-encryption-scheme.enabled" = true; }; policies = { DisableTelemetry = true; diff --git a/packages/widevine-firefox/overlay.nix b/packages/widevine-firefox/overlay.nix new file mode 100644 index 0000000..2e7feb0 --- /dev/null +++ b/packages/widevine-firefox/overlay.nix @@ -0,0 +1,3 @@ +final: prev: { + widevine-firefox = prev.callPackage (builtins.path { path = ./package.nix; }) { }; +} diff --git a/packages/widevine-firefox/package.nix b/packages/widevine-firefox/package.nix new file mode 100644 index 0000000..9e780ec --- /dev/null +++ b/packages/widevine-firefox/package.nix @@ -0,0 +1,19 @@ +{ + stdenv, + widevine-cdm, +}: + +stdenv.mkDerivation { + name = "widevine-firefox"; + version = widevine-cdm.version; + + buildCommand = '' + mkdir -p $out/gmp-widevinecdm/system-installed + ln -s "${widevine-cdm}/share/google/chrome/WidevineCdm/manifest.json" $out/gmp-widevinecdm/system-installed/manifest.json + ln -s "${widevine-cdm}/share/google/chrome/WidevineCdm/_platform_specific/linux_arm64/libwidevinecdm.so" $out/gmp-widevinecdm/system-installed/libwidevinecdm.so + ''; + + meta = widevine-cdm.meta // { + platforms = [ "aarch64-linux" ]; + }; +}