diff --git a/nixos/boxes/home/palace/vms/sfh/containers/hass.nix b/nixos/boxes/home/palace/vms/sfh/containers/hass.nix index 5691cfc..572b5ab 100644 --- a/nixos/boxes/home/palace/vms/sfh/containers/hass.nix +++ b/nixos/boxes/home/palace/vms/sfh/containers/hass.nix @@ -45,6 +45,12 @@ in let inherit (lib) mkMerge mkIf mkForce; inherit (lib.my) networkdAssignment; + + hassCli = pkgs.writeShellScriptBin "hass-cli" '' + export HASS_SERVER="http://localhost:${toString config.services.home-assistant.config.http.server_port}" + export HASS_TOKEN="$(< ${config.age.secrets."hass/cli-token.txt".path})" + exec ${pkgs.home-assistant-cli}/bin/hass-cli "$@" + ''; in { config = { @@ -54,7 +60,11 @@ in secrets = { key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGpYX2WbYwUqHp8bFFf0eHFrqrR8xp8IheguA054F8V4"; - files = { }; + files = { + "hass/cli-token.txt" = { + owner = config.my.user.config.name; + }; + }; }; firewall = { @@ -65,6 +75,7 @@ in environment = { systemPackages = with pkgs; [ usbutils + hassCli ]; }; @@ -96,6 +107,7 @@ in ipv6.address ]; }; + automation = "!include automations.yaml"; }; extraComponents = [ "default_config" diff --git a/secrets/hass/cli-token.txt.age b/secrets/hass/cli-token.txt.age new file mode 100644 index 0000000..d966d43 --- /dev/null +++ b/secrets/hass/cli-token.txt.age @@ -0,0 +1,16 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFQrc2JHQSBmTlVp +RnlKNE9ySGo4L2h3VXBXRzIyZGdqU0RtUWk4ZmJVcGNKZ3BqTmpjCjJtQjUyTmJN +dkpsbVI3M01mQlNPSEI0U1lVeUJTMVlXUlpheGxVblhUbUkKLT4gWDI1NTE5IG5K +K0F3QWxJaW5CbW5TZElEVklIeUJxS0JCc2IxaFI5dVZrbDc3NDZGV2MKOVR6M0k5 +eW5HWDQrT3Rtb0tIM1EyajI1V0dKbHBLb0tVNU9nb21OUjcxYwotPiA5anw6bk56 +dC1ncmVhc2UgPCVeLiZyIH4KTGFRWHBGZFBJUElONUZLb3pJeXNZeXhoakYwT3BM +TW9kUXBhOGhNbHh1Q1RPRTlCRnhSckg5NEUxWk5MVHJucQp4YlFDcVRzK2V5bWVT +V0xLQjN1SjVTaWNJajJaTjRrQTd2VHlMRy82TExXbAotLS0gVE5YZVhTWXl4VUN2 +WUpidkJLV1JDU0R2QkdHZE5ZbCt2K2FlbGNjK0ZlNApzDh+kgAy4SBqC51mJi+VX +ON8wbwLVTQRs1H30eyWNzt/3MO++eS4AoZUKQZUxURwXfhV0t0zd5/MlByBsqaHR ++W6O/9Dp8e/8GYSX3D892r1LKN0AYHgcKeKwEtJojt5CTNJS2IgU6UxZhTliqAEc +NkfxvcoAEHhGhPOudEIX2SgjrgVGJA8MYm6/46zAolZws3TWim3NEgJpb9tWXpvi +1f/MXuxiowplF+PqCsd1EGzpXKsvADq6Rwyxpo6CbJzrq+GhFrTHF+LRkzjWx6JE +LUsZwDqOZUY= +-----END AGE ENCRYPTED FILE-----