diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix
index 74702c97f551..cc113ca2d0c1 100644
--- a/nixos/modules/services/misc/home-assistant.nix
+++ b/nixos/modules/services/misc/home-assistant.nix
@@ -11,6 +11,9 @@ let
(recursiveUpdate defaultConfig cfg.config) else cfg.config));
configFile = pkgs.runCommand "configuration.yaml" { preferLocalBuild = true; } ''
${pkgs.remarshal}/bin/json2yaml -i ${configJSON} -o $out
+ # Hack to support secrets, that are encoded as custom yaml objects,
+ # https://www.home-assistant.io/docs/configuration/secrets/
+ sed -i -e "s/'\!secret \(.*\)'/\!secret \1/" $out
'';
lovelaceConfigJSON = pkgs.writeText "ui-lovelace.json"
@@ -98,6 +101,10 @@ in {
{
homeassistant = {
name = "Home";
+ latitude = "!secret latitude";
+ longitude = "!secret longitude";
+ elevation = "!secret elevation";
+ unit_system = "metric";
time_zone = "UTC";
};
frontend = { };
@@ -108,6 +115,8 @@ in {
description = ''
Your configuration.yaml as a Nix attribute set.
Beware that setting this option will delete your previous configuration.yaml.
+ Secrets
+ are encoded as strings as shown in the example.
'';
};