Replace the prebuilt .deb web-only package with the real Electron
application built from upstream v2026.10.17:
- compile apps/desktop main process (tsc) and launch it with
nixpkgs electron_42 in app-dir mode; upstream env overrides
(PILOTDECK_DESKTOP_RUNTIME_ROOT, PILOTDECK_DESKTOP_NODE) select the
staged runtime and bundled Node.js
- replicate the upstream runtime staging (build-runtime.mjs): prod-only
hoisted node_modules from the dedicated runtime lockfile via a second
fetchPnpmDeps, dist/skills/ui tree, source-import rewrite, pinned Cua
driver, upstream runtime verification probes
- share electron-updater into the app by expanding pnpm virtual store
scopes of its dependency closure
- wrap bin/pilotdeck (desktop, --no-sandbox, ozone hint auto) and keep
bin/pilotdeck-server (headless web server) on the same runtime
- add pilotdeck.desktop entry, hicolor icon, startupWMClass
Verified: nix build passes, app launches under Xvfb reaching
"PilotDeck Web UI ready" with the window mapped as WM_CLASS
pilotdeck-desktop; headless server answers on :3001.
Replace the prebuilt Debian package with the documented source build. Build the web UI and gateway with pnpm, stage the pinned Cua driver, and start the web UI from the wrapper.
Package the upstream Linux Electron release for x86_64 and aarch64 as
pilotdeck. The Debian payload includes the bundled Node.js runtime and web
UI; the wrapper adds the Electron runtime libraries to LD_LIBRARY_PATH and
installs a desktop entry.
README lists the new package.