{ lib, appimageTools, fetchzip, fetchurl, makeDesktopItem, }: let version = "2.29.0"; commit = "f78ece"; src = fetchzip { name = "StatusIm-Desktop-v${version}-${commit}-x86_64.AppImage"; url = "https://github.com/status-im/status-desktop/releases/download/${version}/StatusIm-Desktop-v${version}-${commit}-x86_64.tar.gz"; sha256 = "sha256-i91E1eaN6paM+uZ8EvO1+Wj0Po9KnzQorG0tWKF4hn8="; stripRoot = false; postFetch = '' mv $out/StatusIm-Desktop-v${version}-${commit}-x86_64.AppImage $TMPDIR/tmp rm -rf $out mv $TMPDIR/tmp $out ''; }; desktopEntry = makeDesktopItem { name = "status"; desktopName = "Status Desktop"; exec = "status-desktop"; icon = "status"; comment = "Desktop client for the Status Network"; categories = ["Network"]; }; icon = fetchurl { url = "https://github.com/status-im/status-desktop/raw/afde83651724a555626b5d9a3d582918de6c3d59/status.png"; sha256 = "sha256-ViGuOr9LskGs/P7pjPO9zYgosWaZlZZYVuPpliOA5dY="; }; pname = "status-desktop"; in appimageTools.wrapType2 { inherit pname version src; extraInstallCommands = '' install -m 444 -D ${desktopEntry}/share/applications/status.desktop $out/share/applications/status.desktop install -m 444 -D ${icon} $out/share/icons/hicolor/512x512/apps/status.png ''; meta = with lib; { description = "Desktop client for the Status Network"; license = licenses.mpl20; maintainers = with maintainers; [ a-kenji ]; platforms = platforms.linux; }; }