{ appimageTools, fetchurl, lib, makeWrapper, }: let pname = "vibetyper"; version = "1.3.5"; src = fetchurl { url = "https://cdn.vibetyper.com/releases/linux/VibeTyper.AppImage"; sha256 = "sha256-mWg//IcHdf+566he6MC5OvOKDtmfQ+jU86Elz/ZwIz8="; }; appimageContents = appimageTools.extractType2 {inherit pname version src;}; in appimageTools.wrapType2 { inherit pname version src; nativeBuildInputs = [makeWrapper]; 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 wrapProgram $out/bin/${pname} \ --set VIBE_DISABLE_HYPRLAND_INDICATOR_NO_BLUR 1 ''; meta = { description = "VibeTyper - AI-powered typing assistant"; homepage = "https://vibetyper.com"; license = lib.licenses.unfree; platforms = lib.platforms.linux; mainProgram = "vibetyper"; }; }