# SPDX-FileCopyrightText: 2024 Evgeny Pisemsky # SPDX-License-Identifier: GPL-3.0-or-later #+title: guix-homeassistant #+subtitle: Home Assistant platform for GNU Guix * Setup This is a guix channel that provides package and service definitions for the Home Assistant platform. To use it, add the following record: #+begin_example (channel (name 'homeassistant) (url "https://repo.pisemsky.site/git/guix-homeassistant") (introduction (make-channel-introduction "afdbb5ae25c050882424682eb5474baf00589e27" (openpgp-fingerprint "15FF37F790C1BADB35B3752BE3D3B72AB5733021")))) #+end_example to your guix channel configuration file, save it, and run =guix pull=. * Modules The =(homeassistant-package)= module contains definitions of the =homeassistant= package (quite outdated to match python version in guix) and its dependencies (enough for default configuration). This module is overall messy with mostly disabled tests and unhandled synopses/descriptions to get a working package as soon as possible. The =(homeassistant-service)= module provides definitions of the =homeassistant-service-type= and the =homeassistant-configuration= - the latter can be optionally passed as a value of the former to override default configuration which is set by the following fields: - =package= (default: =homeassistant=) :: The homeassistant package to use. - =yaml-file= (default: =(plain-file "configuration.yaml" "default_config:\n")=) :: The configuration yaml file as a file-like object. * Usage #+begin_example (service homeassistant-service-type (homeassistant-configuration (yaml-file (plain-file "configuration.yaml" "default_config: http: server_port: 8765 ")))) #+end_example # Local Variables: # mode: org # End: