{ lib, appimageTools, fetchurl, }: let version = "1.1.10"; src = fetchurl { url = "https://github.com/traycerai/traycer/releases/download/desktop-v${version}/traycer-desktop-linux-x86_64.AppImage"; hash = "sha256-+aSlqX1RCpbKuV0j7xEBMQDAq/IzpvCC5XZ/psQJcjY="; }; appimageContents = appimageTools.extractType2 { pname = "traycer"; inherit version src; }; in appimageTools.wrapType2 { pname = "traycer"; inherit version src; extraPkgs = pkgsWith: [ pkgsWith.gtk3 pkgsWith.glib ]; extraInstallCommands = '' mkdir -p $out/share/applications install -m 444 ${appimageContents}/traycer-desktop.desktop $out/share/applications/traycer.desktop substituteInPlace $out/share/applications/traycer.desktop \ --replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=traycer --no-sandbox %U' mkdir -p $out/share/icons/hicolor cp -r ${appimageContents}/usr/share/icons/hicolor/* $out/share/icons/hicolor/ ''; passthru = { category = "AI Coding Agents"; updateScript = [ "nix-update" "--flake" ".#traycer" ]; }; meta = { description = "Open-source AI orchestration app for agentic coding"; homepage = "https://github.com/traycerai/traycer"; license = lib.licenses.mit; maintainers = [ ]; platforms = [ "x86_64-linux" ]; mainProgram = "traycer"; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; }; }