guix-homeassistant/README

README

1
# SPDX-FileCopyrightText: 2024 Evgeny Pisemsky <mail@pisemsky.site>
2
#
3
# SPDX-License-Identifier: GPL-3.0-or-later
4
5
#+title: guix-homeassistant
6
#+subtitle: Home Assistant platform for GNU Guix
7
8
* Setup
9
10
This is a guix channel that provides package and service definitions
11
for the Home Assistant platform. To use it, add the following record:
12
13
#+begin_example
14
(channel
15
 (name 'homeassistant)
16
 (url "https://repo.pisemsky.site/git/guix-homeassistant")
17
 (introduction
18
  (make-channel-introduction
19
   "afdbb5ae25c050882424682eb5474baf00589e27"
20
   (openpgp-fingerprint
21
    "15FF37F790C1BADB35B3752BE3D3B72AB5733021"))))
22
#+end_example
23
24
to your guix channel configuration file, save it, and run =guix pull=.
25
26
* Modules
27
28
The =(homeassistant-package)= module contains definitions of the
29
=homeassistant= package (quite outdated to match python version in
30
guix) and its dependencies (enough for default configuration). This
31
module is overall messy with mostly disabled tests and unhandled
32
synopses/descriptions to get a working package as soon as possible.
33
34
The =(homeassistant-service)= module provides definitions of the
35
=homeassistant-service-type= and the =homeassistant-configuration= -
36
the latter can be optionally passed as a value of the former to
37
override default configuration which is set by the following fields:
38
39
- =package= (default: =homeassistant=) ::
40
  The homeassistant package to use.
41
42
- =yaml-file= (default: =(plain-file "configuration.yaml" "default_config:\n")=) ::
43
  The configuration yaml file as a file-like object.
44
45
* Usage
46
47
#+begin_example
48
(service homeassistant-service-type
49
         (homeassistant-configuration
50
          (yaml-file (plain-file "configuration.yaml"
51
                                 "default_config:
52
http:
53
  server_port: 8765
54
"))))
55
#+end_example
56
57
# Local Variables:
58
# mode: org
59
# End:
60