1.9 KiB
Termux installation path
NexusOS is packaged so its Python runtime, memory database, playbooks, and compiled web UI can run without a source checkout or Node.js. Inference is configured separately through an Ollama-compatible HTTP endpoint; NexusOS does not attempt to manage that remote process.
Bootstrap
After nexusos-ai and a compatible Android pydantic-core wheel are published:
curl -fsSLO https://git.enderofwings.com/enderofwings/NexusOS/raw/branch/main/scripts/install-termux.sh
chmod +x install-termux.sh
NEXUS_ANDROID_WHEEL_INDEX=https://packages.example.invalid/android/simple \
./install-termux.sh
For a local release artifact, pass the wheel path or URL as the first argument:
NEXUS_ANDROID_WHEEL_INDEX=https://packages.example.invalid/android/simple \
./scripts/install-termux.sh ./dist/nexusos_ai-1.0.0-py3-none-any.whl
Then configure inference and serve the UI:
nexus provider use remote --url http://192.168.1.20:11434
nexus serve
termux-open-url http://127.0.0.1:8000
Native wheel gate
Current Termux Python is 3.14, so Pydantic 1 is not a safe fallback. Pydantic 2
depends on the Rust-based pydantic-core. PyPI publishes Linux, macOS, Windows,
and WebAssembly wheels but no Android wheel, while the current Termux Rust
package cannot build common Rust extensions on-device.
The bootstrap script therefore requires a binary pydantic-core and accepts a
trusted PEP 503 wheel index through NEXUS_ANDROID_WHEEL_INDEX. It fails early
with the detected Python ABI and CPU when that artifact is missing. The release
pipeline can publish the pure NexusOS wheel today; an Android wheel job/index is
the remaining prerequisite for a one-line public Termux install.
Do not work around this by downloading an unverified binary or by exposing the
NexusOS server with --allow-lan. Keep the UI on loopback and let the Android
browser connect to 127.0.0.1.