enable widevine for chromium and firefox

This commit is contained in:
Sean Kovacs 2025-11-10 15:01:55 -05:00
commit 18c3d21675
Signed by: sckova
GPG key ID: 00F325187C68651A
5 changed files with 39 additions and 1 deletions

View file

@ -63,6 +63,7 @@
modules = [
{
nixpkgs.overlays = [
(import ./packages/widevine-firefox/overlay.nix)
(import ./packages/strawberry/overlay.nix)
];
}

View file

@ -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

View file

@ -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;

View file

@ -0,0 +1,3 @@
final: prev: {
widevine-firefox = prev.callPackage (builtins.path { path = ./package.nix; }) { };
}

View file

@ -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" ];
};
}