{ appimageTools, fetchurl, lib, }: let pname = "vibetyper"; version = "1.2.3"; src = fetchurl { url = "https://cdn.vibetyper.com/releases/linux/VibeTyper.AppImage"; sha256 = "sha256-6uGXw2nxb0sGkcMDTWBlL3PuwBfVodhgqfgZT1Ncs40="; }; appimageContents = appimageTools.extractType2 {inherit pname version src;}; in appimageTools.wrapType2 { inherit pname version src; extraPkgs = pkgs: [pkgs.fuse2]; extraInstallCommands = '' install -m 444 -D ${appimageContents}/vibe-typer.desktop -t $out/share/applications substituteInPlace $out/share/applications/vibe-typer.desktop \ --replace 'Exec=AppRun --no-sandbox' 'Exec=${pname}' install -m 444 -D ${appimageContents}/vibe-typer.png \ $out/share/icons/hicolor/512x512/apps/vibe-typer.png ''; meta = { description = "VibeTyper - AI-powered typing assistant"; homepage = "https://vibetyper.com"; license = lib.licenses.unfree; platforms = lib.platforms.linux; mainProgram = "vibetyper"; }; }