{ config, pkgs, ... }: let domain = "home.giugl.io"; in { services.home-assistant = { enable = true; config = { http = { server_host = "127.0.0.1"; server_port = 8123; use_x_forwarded_for = true; trusted_proxies = [ "127.0.0.1" ]; }; homeassistant = { name = "Underwood House"; unit_system = "metric"; }; default_config = { }; }; extraComponents = [ "otbr" "litterrobot" "apple_tv" "homekit" "homekit_controller" "spotify" "hue" "sonos" "tplink" "ollama" "wyoming" "whisper" "piper" "isal" "radarr" "sonarr" ]; extraPackages = python3Packages: with python3Packages; [ pkgs.openai-whisper openai-whisper pkgs.piper-tts pkgs.wyoming-piper ]; }; architect.vhost.${domain} = with config.architect.networks; { dnsInterfaces = [ "tailscale" "lan" ]; locations."/" = { port = config.services.home-assistant.config.http.server_port; allowLan = true; proxyWebsockets = true; allow = [ tailscale.net ]; }; }; }