fix(home-assistant): wire automation/script/scene !include directives
UI-saved automations land in /var/lib/hass/automations.yaml, but HA won't load them unless configuration.yaml has \`automation: !include automations.yaml\`. The Nix-managed config didn't have it, so HA's post-save reload found no automations and timed out. The NixOS HA module's renderYAMLFile post-processes the generated YAML to convert quoted bang-strings into real YAML tags (see the sed step in nixos/modules/services/home-automation/home-assistant.nix), so a plain Nix string is enough — no escape-hatch needed. Pre-create the three include targets via systemd.tmpfiles so HA doesn't fail at startup if the user hasn't saved anything yet. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -41,8 +41,19 @@ in
|
|||||||
unit_system = "metric";
|
unit_system = "metric";
|
||||||
};
|
};
|
||||||
mobile_app = {};
|
mobile_app = {};
|
||||||
|
automation = "!include automations.yaml";
|
||||||
|
script = "!include scripts.yaml";
|
||||||
|
scene = "!include scenes.yaml";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# `!include` targets must exist or HA fails at startup. Create them empty
|
||||||
|
# so HA's UI editor can write to them; `f` only acts if the file is absent.
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"f /var/lib/hass/automations.yaml 0644 hass hass - []"
|
||||||
|
"f /var/lib/hass/scripts.yaml 0644 hass hass - {}"
|
||||||
|
"f /var/lib/hass/scenes.yaml 0644 hass hass - []"
|
||||||
|
];
|
||||||
|
|
||||||
services.openthread-border-router = {
|
services.openthread-border-router = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.unstable.openthread-border-router;
|
package = pkgs.unstable.openthread-border-router;
|
||||||
|
|||||||
Reference in New Issue
Block a user