{ 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 < $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 < $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"; }; }