Skip to content

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 update entity — 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.