{ config, pkgs, ... }: with pkgs; let port = 6052; inherit (config.services.home-assistant) configDir; in { services.nginx = { virtualHosts."esphome.felschr.com" = { enableACME = true; forceSSL = true; locations."/" = { proxyPass = "http://[::1]:${toString port}"; proxyWebsockets = true; }; }; }; systemd.services.esphome = { description = "ESPHome"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { User = "hass"; Group = "hass"; Restart = "on-failure"; WorkingDirectory = configDir; ExecStart = "${pkgs.esphome}/bin/esphome dashboard ${configDir}/esphome"; }; }; }