Stack for Nerds¶
The technical bits, for the curious. If you just want a dashboard on your wall, the landing page and Get started guide are all you need — this page is about how it works under the hood.
Built on NixOS¶
Dashboard Assistant OS is a minimal, declarative NixOS system.
- Reproducible. The whole system is defined in code. The image you flash is the system you run — there's no hand-configuration to drift over time.
- Atomic updates, delivered through Home Assistant. New versions appear as
an
updateentity — install with one tap, no terminal and nothing to re-flash. An update either fully applies or not at all, and each version is kept as a NixOS generation. - Boots straight into a kiosk. No desktop, no display manager, no login screen — just a full-screen Chromium locked to your dashboards.
Recovery & rollback¶
Because every version is retained as a generation, you can always go back.
- Manual rollback (available today). The LAN-only admin page lets you boot an older, known-good generation from any machine on your network — useful if a configuration change misbehaves but the system still boots. The touchscreen itself is read-only, so nobody at the panel can roll the device back.
- Automatic rollback (not yet). Booting into the previous generation automatically after a failed boot relies on boot-counting support. The images use U-Boot, which doesn't provide it, and the NixOS support is still in testing — so today recovery is manual. This may change as the targets mature.
Home Assistant integration¶
The panel doesn't just show Home Assistant — it reports back into it as a device.
- A first-party integration, installable via HACS as a custom repository.
- Home Assistant discovers the device over mDNS and claims the API token itself while the device is still unprovisioned, so there is no code to type.
- No MQTT broker required — it talks to Home Assistant directly.
- Exposes controls and sensors: display on/off, brightness, zoom, dark mode, rotation, screenshot, reboot / shutdown, updates, plus battery, temperature, CPU, memory and storage.
See the entity reference for the full list.
Provisioning¶
A single device sets itself up on screen: the Wi-Fi onboarding joins it to your network over its own access point and captive portal, and Home Assistant discovers it from there. For fleets and field deploys, a small YAML seed file (Home Assistant URL, token, Wi-Fi, dashboard URLs, optional integration token) dropped on a USB stick or the boot partition configures the device before it ever boots. Either way, nothing on the running panel can re-point the device: the screen shows a read-only info view and nothing else; rollback and factory reset live on a LAN-only admin page.
Hardware¶
x86_64 is the primary, tested target today. Raspberry Pi and other aarch64 boards are a work in progress — see Hardware Support for the current state.
Development¶
Dashboard Assistant is under active development on GitHub — issues and pull requests are welcome.