{ config, lib, pkgs, user, ... }: { imports = [ ./mqtt.nix ./automations.nix ]; networking.firewall.allowedTCPPorts = [ 8123 ]; networking.firewall.allowedUDPPorts = [ 8123 ]; services.home-assistant = { enable = true; extraComponents = [ # Components required to complete the onboarding "esphome" "met" "radio_browser" "tasmota" ]; config = { # Includes dependencies for a basic setup # https://www.home-assistant.io/integrations/default_config/ default_config = {}; http = { use_x_forwarded_for = true; trusted_proxies = [ "127.0.0.1" "::1" ]; }; }; }; services.nginx.virtualHosts."home.tstarr.us" = { forceSSL = true; enableACME = true; extraConfig = '' proxy_buffering off; ''; locations."/".extraConfig = '' proxy_pass http://localhost:8123; proxy_set_header Host $host; proxy_redirect http:// https://; proxy_http_version 1.1; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; ''; }; }