Files
Tommy D. Rossi e892721f74 Add cargo-packager configs so a compiled GPUIX app gets a Dock icon.
A raw Mach-O has no icon. cargo-packager wraps the binary in a .app.
Pass an .icns, not a 1024 PNG. cargo-packager rejected a 1024 PNG with
No matching IconType.

examples/packager.json packs the Bun chat compile as one main binary.
hermes/packager.json lists gpuix-hermes as main and the .node as a
second binary, not a resource. Resources land in Contents/Resources.
Hermes dlopen looks next to the exe, which is Contents/MacOS.

README documents the flow: install cargo-packager, build AppIcon.icns
with sips + iconutil, then cargo packager --release --config packager.json.
formats is host OS only (app/dmg, nsis, appimage). On this machine the
Bun chat .app is 82 MB and the Hermes counter .app is 34 MB.

Ignore packager output: examples/bundle/, examples/AppIcon.icns,
hermes/bundle/, hermes/AppIcon.icns, and tmp-icons/. Do not track
generated hermes/chat.cjs.

Session: ses_f84b88b16ffePB3X7Fqzot47OY
2026-09-07 15:25:27 +02:00

15 lines
436 B
JSON

{
"$schema": "https://raw.githubusercontent.com/crabnebula-dev/cargo-packager/main/crates/packager/schema.json",
"productName": "GPUIX Hermes",
"version": "0.1.0",
"identifier": "dev.gpuix.hermes",
"binariesDir": "dist",
"outDir": "bundle",
"binaries": [
{ "path": "gpuix-hermes", "main": true },
{ "path": "gpuix-native.darwin-arm64.node", "main": false }
],
"icons": ["AppIcon.icns"],
"formats": ["app"]
}