# tx9 guest defaults, sourced by provision/provision.sh and guest shells. # Host port publication is managed by tx9, not by this file. # Informational label for `hb info`; docker/Dockerfile selects the base image. # Changing this value does not change the image's FROM instruction. BASE_IMAGE="ubuntu:24.04" # Runtime sizing is per box and managed by `tx9 resources`, not baked into # the image. Existing defaults remain agent=4 CPU/8 GiB and executor=2 CPU/ # 2 GiB. Docker local volumes are host-backed and unbounded; tx9 can attach # advisory storage budgets without pretending they are filesystem quotas. # Durable process logs rotate at 20 MiB per file, keeping five generations. # Native Codex, Claude, and Hermes histories retain their own upstream layout. TX9_LOG_MAX_BYTES="20971520" TX9_LOG_MAX_FILES="5" # Node.js is managed by Vite+ (https://viteplus.dev), defaulted to the # current LTS at provision time (`vp env default lts`). claude and codex use # their native (non-Node) installers. CLAUDE_CODE_CHANNEL="" # native-installer release channel or version: # "stable" (default), "latest", or e.g. "2.1.202" CODEX_VERSION="" # native-installer release, e.g. "0.142.5"; empty = latest EXECUTOR_VERSION="" # empty = latest for fresh installs; e.g. "1.6.0" pins it # npm package: github.com/UsefulSoftwareCo/executor # Existing installs are retained unless a pin changes. # --- Hermes Agent (Nous Research) ------------------------------------------- # Installed headless via the official script (the normal curl | bash setup, # always latest). Code -> /usr/local/lib (root-mode FHS layout); state -> # $HERMES_HOME on /data. INSTALL_HERMES=1 # TX9 owns Chromium + agent-browser separately. Keep Hermes from fetching # its own Playwright/Chromium tree. HERMES_INSTALL_ARGS="--skip-browser" HERMES_API_PORT="8642" # Pinned 2026-09-10. install-browser.sh fails closed on an unknown uname -m # and never substitutes an amd64 artifact for arm64. AGENT_BROWSER_VERSION="0.26.0" AGENT_BROWSER_LINUX_X64_SHA256="8784dc259abf72ee04e751b45677d956387af50c99aec5dcd7a41a9bc498e3c3" AGENT_BROWSER_LINUX_ARM64_SHA256="b3901b17298f6ce6511fcae5c576068a3e8a510ecb365c8ccd876b9b82db4447" CHROME_FOR_TESTING_VERSION="153.0.8010.36" CHROME_LINUX64_SHA256="167a098c4fdec156b58a9f678c90a84f9072d789f9c6e7b35496a6987b8b7ef8" CHROME_LINUX_ARM64_SHA256="dfc4955719c5d494c8507990506d2d5bed174c31bf89266aa2dc5593c6607e8b" # Applied only to active imported config/env/cron/hook/script files. Empty by # default — this is operator/machine-specific (e.g. your old macOS username), # not something to commit. Set it here for your own deployment, or pass # --map OLD=NEW per invocation (see docs/nexus-operations.md's migration # runbook for a worked example); import-hermes applies both if both are set. HERMES_IMPORT_PATH_MAP="" # --- Executor (github.com/UsefulSoftwareCo/executor) ------------------------ # vp global (Vite+); daemon + web UI + MCP. Default state lives under # /data/home/agent/.executor. Update in place with `vp install -g executor@latest`. INSTALL_EXECUTOR=1 EXECUTOR_PORT="4788" # executor's port INSIDE the box (always 4788) WIRE_EXECUTOR_MCP=1 # register daemon's authenticated HTTP MCP for claude, codex + Hermes