{ lib, fetchurl, mkDerivation, appimageTools, libsecret, makeWrapper }: let pname = "beeper"; version = "3.71.16"; name = "${pname}-${version}"; src = fetchurl { url = "https://download.todesktop.com/2003241lzgn20jd/beeper-${version}.AppImage"; hash = "sha256-Ho5zFmhNzkOmzo/btV+qZfP2GGx5XvV/1JncEKlH4vc="; }; appimage = appimageTools.wrapType2 { inherit version pname src; extraPkgs = pkgs: with pkgs; [ libsecret ]; }; appimageContents = appimageTools.extractType2 { inherit version pname src; }; in mkDerivation rec { inherit name pname; src = appimage; nativeBuildInputs = [ makeWrapper ]; installPhase = '' runHook preInstall mv bin/${name} bin/${pname} mkdir -p $out/ cp -r bin $out/bin mkdir -p $out/share/${pname} cp -a ${appimageContents}/locales $out/share/${pname} cp -a ${appimageContents}/resources $out/share/${pname} cp -a ${appimageContents}/usr/share/icons $out/share/ install -Dm 644 ${appimageContents}/${pname}.desktop -t $out/share/applications/ substituteInPlace $out/share/applications/${pname}.desktop --replace "AppRun" "${pname}" wrapProgram $out/bin/${pname} \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}} --no-update" runHook postInstall ''; meta = with lib; { description = "Universal chat app."; longDescription = '' Beeper is a universal chat app. With Beeper, you can send and receive messages to friends, family and colleagues on many different chat networks. ''; homepage = "https://beeper.com"; license = licenses.unfree; maintainers = with maintainers; [ jshcmpbll ]; platforms = [ "x86_64-linux" ]; }; }