nixos/home-assistant: support for secrets

This commit is contained in:
Jörg Thalheim 2019-12-20 08:40:16 +00:00
parent b2dbc1edd1
commit 283e3e7218
No known key found for this signature in database
GPG Key ID: B3F5D81B0C6967C4

View File

@ -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 <filename>configuration.yaml</filename> as a Nix attribute set.
Beware that setting this option will delete your previous <filename>configuration.yaml</filename>.
<link xlink:href="https://www.home-assistant.io/docs/configuration/secrets/">Secrets</link>
are encoded as strings as shown in the example.
'';
};