{ config, ... }: let inherit (config.networking) domain fqdn; image = "ghcr.io/home-assistant/home-assistant"; tag = "stable"; port = 8123; hostPort = "[::1]:${toString port}"; in { imports = [ ./oci.nix ]; virtualisation.oci-containers.containers = { home-assistant = { image = "${image}:${tag}"; autoStart = true; environment = { TZ = config.time.timeZone; }; volumes = [ "/var/lib/home-assistant:/config" ]; extraOptions = [ "--network=host" ]; }; matter-server = { image = "ghcr.io/matter-js/python-matter-server:stable"; autoStart = true; volumes = [ "matter-server:/data" ]; extraOptions = [ "--network=host" ]; }; }; services.caddy.virtualHosts = { "ha.${domain}" = { extraConfig = '' tls { issuer internal { ca home } } reverse_proxy http://${hostPort} ''; }; }; services.dnsmasq.settings.cname = [ "ha.${domain},${fqdn}" ]; }