Files
lux-pkgs/pkgs/zen-browser.nix
2026-02-28 22:43:58 +01:00

116 lines
2.0 KiB
Nix

{
lib,
stdenv,
fetchurl,
autoPatchelfHook,
alsa-lib,
atk,
at-spi2-atk,
at-spi2-core,
cairo,
cups,
dbus,
fontconfig,
freetype,
gdk-pixbuf,
glib,
gtk3,
libGL,
libX11,
libXcomposite,
libXdamage,
libXext,
libXfixes,
libXrandr,
libxcb,
libxkbcommon,
mesa,
nspr,
nss,
pango,
systemd,
wrapGAppsHook3,
}:
stdenv.mkDerivation rec {
pname = "zen-browser";
version = "1.19b";
src = fetchurl {
url = "https://github.com/zen-browser/desktop/releases/download/${version}/zen.linux-x86_64.tar.xz";
sha256 = "sha256-C9kieXWSSwKhswRVE2BVMHjlgv+a747uHqDKhqYfjgM=";
};
nativeBuildInputs = [
autoPatchelfHook
wrapGAppsHook3
];
buildInputs = [
alsa-lib
atk
at-spi2-atk
at-spi2-core
cairo
cups
dbus
fontconfig
freetype
gdk-pixbuf
glib
gtk3
libGL
libX11
libXcomposite
libXdamage
libXext
libXfixes
libXrandr
libxcb
libxkbcommon
mesa
nspr
nss
pango
systemd
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/lib/zen-browser
cp -r * $out/lib/zen-browser/
# Create the main executable script that wraps the browser
cat <<EOF > $out/bin/zen-browser
#!/bin/sh
exec $out/lib/zen-browser/zen "\$@"
EOF
chmod +x $out/bin/zen-browser
# Setup the desktop file
mkdir -p $out/share/applications $out/share/pixmaps
cp browser/chrome/icons/default/default128.png $out/share/pixmaps/zen-browser.png
cat <<EOF > $out/share/applications/zen-browser.desktop
[Desktop Entry]
Name=Zen Browser
GenericName=Web Browser
Exec=$out/bin/zen-browser %u
Icon=$out/share/pixmaps/zen-browser.png
Terminal=false
Type=Application
Categories=Network;WebBrowser;
EOF
runHook postInstall
'';
meta = with lib; {
description = "Experience tranquillity while browsing the web without people tracking you!";
homepage = "https://github.com/zen-browser/desktop";
platforms = platforms.linux;
mainProgram = "zen-browser";
};
}