#!/usr/bin/env bash # Host-only env vars for the publish/OTA flow. # # Copy this file to `.envrc.private` (gitignored) and fill in real values. # `.envrc` sources it automatically when direnv loads. # # These are needed by the `make ota-publish` flow on the dev machine; the # firmware itself reads its own copy of OTA_URL_BASE from `firmware/cfg.toml` # at compile time. # Where on this machine the .bin files get copied so the static HTTP server # can pick them up. Subdirectory per project; the publish flow copies to # $OTA_LOCAL_DIR/sound-machine-.bin. export OTA_LOCAL_DIR="/path/to/firmware/sound-machine" # Public-ish base URL the device will fetch from. Must match the firmware's # `ota_url_base` in cfg.toml. Trailing slash optional; the publish flow # normalizes it. export OTA_URL_BASE="http://firmware.example.lan/sound-machine" # MQTT broker URL used by `make ota-publish` to push the new latest_version # to the shared topic. mosquitto_pub accepts the same scheme as the device's # cfg.toml mqtt_url, so it's fine to reuse that value. export MQTT_URL="mqtt://mqtt.example.lan:1883"