Ricky Kresslein

Home Assistant On NixOS With Docker


The Home Assistant Docker container requires some extra options for network access and USB access. The USB access is especially important if you have a hub of some sort plugged into the USB port of your server that connects to all of your devices. It took me a while to figure out how to set all of this up on NixOS, so hopefully this is helpful.

This is the contents of my /etc/nixos/containers/homeassistant.nix file.

{ config, pkgs, ... }:

  # Home Assistant
  virtualisation.oci-containers.containers."homeassistant" = {
    autoStart = true;
    image = "ghcr.io/home-assistant/home-assistant:stable";
    volumes = [
    extraOptions = [

Since that's in its own .nix file, we need to add it to the imports section of the /etc/nixos/configuration.nix, like so:

imports = [
  # Docker containers

That's it! Run sudo nixos-rebuild switch and, once it downloads and starts, you should have a running Home Assistant instance on your NixOS box! Just got to http://[server_ip]:8123 to access the setup page.