nixos-servers/services/home-assistant/default.nix

65 lines
1.4 KiB
Nix
Raw Normal View History

2024-06-01 19:58:19 +00:00
{ pkgs, config, ... }:
2024-05-01 17:18:28 +00:00
{
2024-05-01 18:45:59 +00:00
# Enable the Home Assistant service
2024-05-01 17:18:28 +00:00
services.home-assistant = {
enable = true;
2024-06-01 19:58:19 +00:00
package = pkgs.unstable.home-assistant;
2024-05-01 17:18:28 +00:00
configWritable = true;
2024-05-01 17:25:06 +00:00
config = null;
2024-09-30 19:40:05 +00:00
extraPackages =
python3Packages: with pkgs.unstable.python312Packages; [
aiopyarr
zigpy-cc
zigpy-znp
zigpy-zigate
zigpy-xbee
zigpy-deconz
pykodi
gtts
bellows
radios
paho-mqtt
zha-quirks
uiprotect
unifi-discovery
universal-silabs-flasher
vacuum-map-parser-base
vacuum-map-parser-roborock
python-roborock
];
customComponents =
with pkgs.home-assistant-custom-components;
[
];
2024-05-01 17:18:28 +00:00
};
2024-05-01 18:45:59 +00:00
# Enable the mosquitto MQTT broker
services.mosquitto = {
enable = true;
2024-05-01 18:48:56 +00:00
persistence = true;
2024-05-01 18:51:55 +00:00
listeners = [
{
acl = [ "pattern readwrite #" ];
omitPasswordAuth = true;
settings.allow_anonymous = true;
}
];
2024-05-01 18:45:59 +00:00
};
# Enable the zigbee2mqtt service
services.zigbee2mqtt = {
enable = true;
2024-05-03 12:46:16 +00:00
package = pkgs.unstable.zigbee2mqtt;
2024-05-01 18:45:59 +00:00
settings = {
2024-06-01 19:58:19 +00:00
homeassistant = {
legacy_entity_attributes = false;
legacy_triggers = false;
};
availability = true;
frontend = true;
2024-05-28 23:23:51 +00:00
permit_join = false;
2024-05-01 18:45:59 +00:00
serial.port = "/dev/ttyUSB0";
};
};
2024-05-01 17:18:28 +00:00
}