Commit Graph

39 Commits

Author SHA1 Message Date
Martin Weinelt
6d934088ea
nixos/home-assistant: update bluetooth components 2023-05-04 07:33:32 +02:00
Linus Heckemann
b14aded48a
Merge pull request #222617 from oddlama/esphome
nixos/esphome: init module
2023-04-18 06:45:40 +02:00
Robert Schütz
2b81862da7
Merge pull request #224908 from SuperSandro2000/home-assistant-drv
nixos/home-assistant: fix infinite recursion when derivations are used in config
2023-04-06 07:56:47 -07:00
Martin Weinelt
e89108897d
nixos/home-assistant: Allow serial access for otbr 2023-04-06 13:43:55 +02:00
Sandro Jäckel
94b402045d
nixos/home-assistant: fix infinite recursion when derivations are used in config 2023-04-06 01:26:24 +02:00
oddlama
8df62ec46c
nixos/esphome: init module 2023-04-05 17:35:58 +02:00
Felix Buehler
d10e69c86b treewide: deprecate isNull
https://nixos.org/manual/nix/stable/language/builtins.html#builtins-isNull
2023-03-06 22:40:04 +01:00
Martin Weinelt
e01ccd6245
home-assistant: Inject extra dependencies through PYTHONPATH
Injecting configuration specific dependencies into the
propagatedBuildInputs of the home-assistant package forces alot of
rebuilds while setting up home-assistant, which is annoying.

By passing optional dependencies into home-assistant via the systemd
units PYTHONPATH environment variable, only he concatenation of
library paths in the systemd unit requires a rebuild.

This also means users can rely heavily on the cached home-assistant
package and will rarely have to build from source, if ever.
2023-02-20 18:37:20 +01:00
Martin Weinelt
df8007c30f
nixos/home-assistant: Update bluetooth components 2023-02-02 04:38:22 +01:00
Martin Weinelt
fda65523fb nixos/evcc: Fix unit environment
In some recent version evcc started requiring `getent` in the PATH, or
else it would fail to start.

It also now requires an sqlite database, which it tries to create a
directory for at `$HOME/.evcc`, so we now need to provide a
StateDirectory.
2022-12-11 01:23:22 +01:00
Martin Weinelt
87c22c7909
nixos/home-assistant: update bluetooth components 2022-12-08 02:36:55 +01:00
Martin Weinelt
5d685e0eed nixos/zigbee2mqtt: Update syscall filter
The tests would fail after migrating to `buildNpmPackage`, likely
because we are now using nodejs 18.

> audit: type=1326 audit(1670092271.655:102): auid=4294967295 uid=317 gid=317 ses=4294967295 subj=kernel pid=995 comm="node" exe="/nix/store/dj805sw07vvpbxx39c8g67x8qddg0ikw-nodejs-18.12.1/bin/node" sig=31 arch=c000003e syscall=330 compat=0 ip=0x7ff8b655f37b code=0x8000000
2022-12-03 19:57:50 +01:00
Martin Weinelt
36f58b687c
nixos/evcc: init 2022-11-21 22:40:15 +01:00
Daniel Nagy
b4674b39c1
treewide: use mkEnableOption in nixos modules 2022-11-10 09:30:00 +01:00
Martin Weinelt
7bbc6e29b1 nixos/home-assistant: update bluetooth components 2022-11-05 13:30:17 +01:00
Martin Weinelt
4978672881
nixos/home-assistant: update bluetooth and serial component list
And fix the capability logic for bluetooth devices.
2022-09-30 15:07:17 +02:00
pennae
ef176dcf7e nixos/*: automatically convert option descriptions
conversions were done using https://github.com/pennae/nix-doc-munge
using (probably) rev f34e145 running

    nix-doc-munge nixos/**/*.nix
    nix-doc-munge --import nixos/**/*.nix

the tool ensures that only changes that could affect the generated
manual *but don't* are committed, other changes require manual review
and are discarded.
2022-08-31 16:32:53 +02:00
pennae
6039648c50 nixos/*: automatically convert option docs 2022-08-19 22:40:58 +02:00
pennae
8f8e101527 nixos/*: normalize <package> to <literal>
this renders the same in the manpage and a little more clearly in the
html manual. in the manpage there continues to be no distinction from
regular text, the html manual gets code-type markup (which was probably
the intention for most of these uses anyway).
2022-08-19 22:40:58 +02:00
Martin Weinelt
b2367dbdd1
nixos/home-assistant: update hardening for bluetooth components
A larger number of bluetooth components were introduced in 2022.8.0. To
make them work we need to add a hardening exception, so they can
discover and use bluetooth devices.
2022-08-04 12:23:21 +02:00
pennae
6b13dd0e9e
Merge pull request #183491 from pennae/automatic-md-conversions
treewide: automatically md-convert option descriptions
2022-08-02 02:15:30 +02:00
Alyssa Ross
5330c0a1af
treewide: use isAarch where appropriate 2022-07-30 16:18:27 +00:00
pennae
2e751c0772 treewide: automatically md-convert option descriptions
the conversion procedure is simple:

 - find all things that look like options, ie calls to either `mkOption`
   or `lib.mkOption` that take an attrset. remember the attrset as the
   option
 - for all options, find a `description` attribute who's value is not a
   call to `mdDoc` or `lib.mdDoc`
 - textually convert the entire value of the attribute to MD with a few
   simple regexes (the set from mdize-module.sh)
 - if the change produced a change in the manual output, discard
 - if the change kept the manual unchanged, add some text to the
   description to make sure we've actually found an option. if the
   manual changes this time, keep the converted description

this procedure converts 80% of nixos options to markdown. around 2000
options remain to be inspected, but most of those fail the "does not
change the manual output check": currently the MD conversion process
does not faithfully convert docbook tags like <code> and <package>, so
any option using such tags will not be converted at all.
2022-07-30 15:16:34 +02:00
Kat Inskip
8f2c49ece6
nixos/home-assistant: make the reload triggers dependent upon cfg.config 2022-07-11 08:19:25 -07:00
Andreas Rammhold
cfbcf381c2
nixos/home-assistant: reload the daemon when configuration changed
Reload the service when configuration changes. This means that we don't
have a potentially slow startup for every small configuration change.
2022-06-22 16:20:11 +02:00
Robert Schütz
ccf42c7987 nixos/home-assistant: fix openFirewall 2022-05-05 15:04:46 -07:00
Martin Weinelt
accca0bd6e
nixos/zigbee2mqtt: move into home-automation category 2022-03-01 19:19:31 +01:00
Martin Weinelt
0dd8ef5ef7
nixos/home-assistant: update package option description
Overriding can now happen using module options, which is preferred
because it is more discoverable and doesn't require knowledge of
overrides in the first place.
2022-02-22 12:07:02 +01:00
Martin Weinelt
1090fcb7c9
nixos/home-assistant: allow null config value
While the documentation said to set this to null, in case an imperative
config was supposed to be used, this was not possible with the typing in
place.
2022-02-22 12:04:04 +01:00
Martin Weinelt
047429df52
nixos/home-assistant: fix package override
The attributes can be missing on the package, since they're optional, so
catch that by adding empty defaults.
2022-02-17 00:50:44 +01:00
piegames
c1d2042219
home-assistant: clean up preStart
Co-Authored-By: Martin Weinelt <hexa@darmstadt.ccc.de>
2022-02-15 23:41:51 +01:00
Martin Weinelt
2f644fd3e6
nixos/home-assistant: add rpi_power component by default on arm
The rpi_power integration is part of the onboarding flow on Raspberry Pi
SBCs.
2022-02-15 23:41:51 +01:00
Martin Weinelt
918100f48f
nixos/home-assistant: Wait for {mysql,postgresql}.service
Database provisioning was shown to be racy since adding a recorder test
using PostgreSQL. There is no harm in waiting for these services,
because if they're not available they will be ignored.
2022-02-15 23:41:50 +01:00
Martin Weinelt
13faa004b6
nixos/home-assistant: add extraPackages option 2022-02-15 23:41:49 +01:00
Martin Weinelt
4a0b964b34
nixos/home-assistant: add extraComponents option
It simply should not be required to override the package for such a
common use case, especially since the module usually adds another
override on top to inherit extraComponents.
2022-02-15 23:41:48 +01:00
Martin Weinelt
59a367bcab
nixos/home-assistant: convert to rfc42 style settings
After this change users with non-declarative configs need to set
`services.home-assistant.config` to an `null`, or their
`configuration.yaml` will be overwritten.

The reason for this is that with rfc42 style defaults the config
attribute set will never be empty by default.
2022-02-15 23:41:48 +01:00
Martin Weinelt
9896247fb6
nixos/home-assistant: Wait for network-online.target
If people take the time to setup network-online.target correctly we
should wait for it. If they don't it's basically the same as
network.target anyway, so no harm done.

Over time I've seen multiple integrations that have dealt badly with
missing network connectivity at startup, this should alleviate further
pains.
2022-02-15 23:15:17 +01:00
Martin Weinelt
5aabba490e
nixos/home-assistant: update default package example
The given example is now closer to a sane default people will want to
start with. It also displays the existance of extraComponents, a feature
that will receive more usage with home-assistant warning about
components that have completely migrated away from YAML configuration.
2022-02-15 23:15:16 +01:00
Martin Weinelt
42c0909848
nixos/home-assistant: move module into home-automation category
Putting so many things into misc is not great, so let's open up a new
category called home-automation here and now.
2022-02-15 23:15:09 +01:00