From 3ba686f1593cfce14aeb309cc222b71c0a8734f9 Mon Sep 17 00:00:00 2001 From: Giulio De Pasquale Date: Sat, 26 Apr 2025 23:39:39 +0100 Subject: [PATCH] feat: port home assistant (part 1) --- hosts/architect/default.nix | 115 +++++++++++++++--------------- hosts/architect/homeassistant.nix | 115 ------------------------------ 2 files changed, 59 insertions(+), 171 deletions(-) delete mode 100644 hosts/architect/homeassistant.nix diff --git a/hosts/architect/default.nix b/hosts/architect/default.nix index 0322b11..623072e 100644 --- a/hosts/architect/default.nix +++ b/hosts/architect/default.nix @@ -126,60 +126,6 @@ in }; }; - pepe.services.homeassistant = { - enable = true; - package = pkgs.unstablePkgs.home-assistant; - domain = "home.giugl.io"; - extraComponents = [ - "otbr" - "litterrobot" - "apple_tv" - "homekit" - "homekit_controller" - "spotify" - "hue" - "sonos" - "tplink" - "ollama" - "wyoming" - "whisper" - "piper" - "isal" - "radarr" - "sonarr" - "mqtt" - "mqtt_eventstream" - "mqtt_json" - "mqtt_room" - "mqtt_statestream" - "github" - "webostv" - "reolink" - "onvif" - "xiaomi_miio" - "ring" - ]; - extraPackages = python3Packages: with pkgs.unstablePkgs.python3Packages; [ - pyporscheconnectapi - ]; - config = { - http = { - server_host = "127.0.0.1"; - server_port = 8123; - use_x_forwarded_for = true; - trusted_proxies = [ "127.0.0.1" ]; - }; - homeassistant = { - name = "Brigettine Square"; - latitude = 52.1958; - longitude = 0.180746; - unit_system = "metric"; - }; - default_config = { }; - automation = "!include automations.yaml"; - frontend.themes = "!include_dir_merge_named themes"; - }; - }; services = { gitea = { @@ -222,16 +168,73 @@ in domain = "media.giugl.io"; package = pkgs.unstablePkgs.jellyfin; }; - + jellyseer = { enable = true; domain = "aumm-aumm.giugl.io"; }; - + prowlarr = { enable = true; domain = "htpro.giugl.io"; }; + + homeassistant = { + enable = true; + package = pkgs.unstablePkgs.home-assistant; + domain = "home.giugl.io"; + extraComponents = [ + "otbr" + "litterrobot" + "apple_tv" + "homekit" + "homekit_controller" + "spotify" + "hue" + "sonos" + "tplink" + "ollama" + "wyoming" + "whisper" + "piper" + "isal" + "radarr" + "sonarr" + "mqtt" + "mqtt_eventstream" + "mqtt_json" + "mqtt_room" + "mqtt_statestream" + "github" + "webostv" + "reolink" + "onvif" + "xiaomi_miio" + "ring" + ]; + + extraPackages = python3Packages: with pkgs.unstablePkgs.python3Packages; [ + pyporscheconnectapi + ]; + + config = { + http = { + server_host = "127.0.0.1"; + server_port = 8123; + use_x_forwarded_for = true; + trusted_proxies = [ "127.0.0.1" ]; + }; + homeassistant = { + name = "Brigettine Square"; + latitude = 52.1958; + longitude = 0.180746; + unit_system = "metric"; + }; + default_config = { }; + automation = "!include automations.yaml"; + frontend.themes = "!include_dir_merge_named themes"; + }; + }; }; }; } diff --git a/hosts/architect/homeassistant.nix b/hosts/architect/homeassistant.nix deleted file mode 100644 index 5951606..0000000 --- a/hosts/architect/homeassistant.nix +++ /dev/null @@ -1,115 +0,0 @@ -{ config, pkgs, ... }: - -let - domain = "home.giugl.io"; - piperPort = 10200; - whisperPort = 10300; -in -{ - services.go2rtc = { - enable = true; - settings.api.listen = "127.0.0.1:1984"; - }; - - # services.wyoming = { - # faster-whisper = { - # servers."home" = { - # enable = true; - # uri = "tcp://127.0.0.1:${toString whisperPort}"; - # model = "large-v3"; - # device = "cuda"; - # language = "en"; - # }; - # }; - # piper = { - # servers."home" = { - # enable = true; - # uri = "tcp://127.0.0.1:${toString piperPort}"; - # voice = "en-us-ryan-medium"; - # lengthScale = 0.63; - # }; - # }; - # }; - - services.home-assistant = { - enable = true; - package = pkgs.unstablePkgs.home-assistant; - config = { - http = { - server_host = "127.0.0.1"; - server_port = 8123; - use_x_forwarded_for = true; - trusted_proxies = [ "127.0.0.1" ]; - }; - homeassistant = { - name = "Brigettine Square"; - latitude = 52.1958; - longitude = 0.180746; - unit_system = "metric"; - }; - default_config = { }; - automation = "!include automations.yaml"; - frontend.themes = "!include_dir_merge_named themes"; - }; - - extraComponents = [ - "otbr" - "litterrobot" - "apple_tv" - "homekit" - "homekit_controller" - "spotify" - "hue" - "sonos" - "tplink" - "ollama" - "wyoming" - "whisper" - "piper" - "isal" - "radarr" - "sonarr" - "mqtt" - "mqtt_eventstream" - "mqtt_json" - "mqtt_room" - "mqtt_statestream" - "github" - "webostv" - "reolink" - "onvif" - "xiaomi_miio" - "ring" - ]; - - extraPackages = python3Packages: with pkgs.unstablePkgs.python3Packages; [ - pyporscheconnectapi - ]; - }; - - services.mosquitto = { - enable = true; - listeners = [ - { - address = "127.0.0.1"; - acl = [ "pattern readwrite #" ]; - omitPasswordAuth = true; - settings.allow_anonymous = true; - } - ]; - }; - - architect.vhost.${domain} = with config.architect.networks; { - dnsInterfaces = [ "tailscale" "lan" ]; - - locations."/" = { - port = config.services.home-assistant.config.http.server_port; - allowWAN = true; - allowLan = true; - proxyWebsockets = true; - allow = [ - tailscale.net - ]; - }; - }; -}