From 76536821fb79287d05fc5edb8ed878f1899b2d1f Mon Sep 17 00:00:00 2001 From: Nikkuss Date: Tue, 7 Oct 2025 15:56:40 +0400 Subject: [PATCH] add more options --- pkgs/by-name/he/helium-browser/package.nix | 35 ++++++++++++++++++-- pkgs/by-name/he/helium-browser/unwrapped.nix | 13 +++++++- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/he/helium-browser/package.nix b/pkgs/by-name/he/helium-browser/package.nix index 66fd68e..dcf7224 100644 --- a/pkgs/by-name/he/helium-browser/package.nix +++ b/pkgs/by-name/he/helium-browser/package.nix @@ -17,15 +17,44 @@ gnugrep, callPackage, rustc, + runCommand, + widevine-cdm, + enableWideVine ? false, + proprietaryCodecs ? true, + cupsSupport ? true, + pulseSupport ? stdenv.hostPlatform.isLinux, + commandLineArgs ? "", + }: let upstream-info = (lib.importJSON ./info.json)."ungoogled-chromium"; unwrapped = callPackage ./unwrapped.nix { - inherit helium-patcher-unwrapped upstream-info; + inherit + helium-patcher-unwrapped + upstream-info + proprietaryCodecs + cupsSupport + pulseSupport + ; stdenv = rustc.llvmPackages.stdenv; }; helium-patcher-unwrapped = callPackage ./helium-patcher.nix { }; sandboxExecutableName = unwrapped.passthru.sandboxExecutableName; + + chromiumWV = + let + browser = unwrapped; + in + if enableWideVine then + runCommand (browser.name + "-wv") { version = browser.version; } '' + mkdir -p $out + cp -a ${browser}/* $out/ + chmod u+w $out/libexec/chromium + cp -a ${widevine-cdm}/share/google/chrome/WidevineCdm $out/libexec/chromium/ + '' + else + browser; + in stdenv.mkDerivation { pname = "helium-browser"; @@ -57,7 +86,7 @@ stdenv.mkDerivation { buildCommand = let - browserBinary = "${unwrapped}/libexec/helium/helium"; + browserBinary = "${chromiumWV}/libexec/helium/helium"; libPath = lib.makeLibraryPath [ libva pipewire @@ -73,7 +102,7 @@ stdenv.mkDerivation { makeWrapper "${browserBinary}" "$out/bin/helium" \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ - + --add-flags ${lib.escapeShellArg commandLineArgs} ed -v -s "$out/bin/helium" << EOF 2i diff --git a/pkgs/by-name/he/helium-browser/unwrapped.nix b/pkgs/by-name/he/helium-browser/unwrapped.nix index 5d4504d..bf6f30f 100644 --- a/pkgs/by-name/he/helium-browser/unwrapped.nix +++ b/pkgs/by-name/he/helium-browser/unwrapped.nix @@ -10,6 +10,10 @@ electron-source, helium-patcher-unwrapped, fetchzip, + + proprietaryCodecs, + cupsSupport, + pulseSupport, }: ( (chromium.passthru.mkDerivation.override ( @@ -44,7 +48,14 @@ inherit stdenv; ungoogled = true; ungoogled-chromium = helium-patcher-unwrapped; - inherit upstream-info chromiumVersionAtLeast versionRange; + inherit + upstream-info + chromiumVersionAtLeast + versionRange + proprietaryCodecs + cupsSupport + pulseSupport + ; } ))