fix zen-browser audio/video codecs with ffmpeg-full

This commit is contained in:
2026-03-11 16:35:46 +00:00
parent 520177b9a5
commit 0e854495ff
+18 -21
View File
@@ -1,6 +1,5 @@
{ ... }: {
{ lib, ... }: {
perSystem = { pkgs, ... }: let
zen-appimage = pkgs.appimageTools.wrapType2 rec {
pname = "zen-browser";
version = "1.19.1b";
@@ -9,36 +8,34 @@
hash = "sha256-h3lza2C+SxptpcX897Uf/nM8dNILUBXScSNQZlvSIQg=";
};
extraInstallCommands = let
contents = pkgs.appimageTools.extract { inherit pname version src; };
in ''
desktop_file=$(find ${contents} -name "*.desktop" | head -n1)
appimageContents = pkgs.appimageTools.extract { inherit pname version src; };
in {
packages.zen-browser = pkgs.appimageTools.wrapType2 {
inherit pname version src;
extraPkgs = pkgs: [ pkgs.ffmpeg-full ];
extraInstallCommands = ''
desktop_file=$(find ${appimageContents} -name "*.desktop" | head -n1)
if [ -n "$desktop_file" ]; then
install -m 444 -D "$desktop_file" "$out/share/applications/${pname}.desktop"
# The desktop file uses 'zen' as the binary name
substituteInPlace "$out/share/applications/${pname}.desktop" \
--replace 'Exec=zen' 'Exec=${pname}'
fi
if [ -d ${contents}/usr/share/icons ]; then
cp -r ${contents}/usr/share/icons $out/share
if [ -d ${appimageContents}/usr/share/icons ]; then
cp -r ${appimageContents}/usr/share/icons $out/share
fi
# Also provide 'zen' binary since some apps expect it
ln -s $out/bin/${pname} $out/bin/zen
'';
meta = {
description = "Experience tranquillity while browsing the web without people tracking you!";
homepage = "https://zen-browser.app";
license = lib.licenses.mpl20;
platforms = [ "x86_64-linux" ];
};
in {
packages.zen-browser = pkgs.symlinkJoin {
name = "zen-browser";
paths = [ zen-appimage ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/zen-browser \
--prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.ffmpeg ]}
wrapProgram $out/bin/zen \
--prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.ffmpeg ]}
'';
};
};
}