diff options
-rw-r--r-- | makefu/2configs/ham/zigbee2mqtt/default.nix | 35 |
1 files changed, 12 insertions, 23 deletions
diff --git a/makefu/2configs/ham/zigbee2mqtt/default.nix b/makefu/2configs/ham/zigbee2mqtt/default.nix index cb1f80d8a..7c55326f9 100644 --- a/makefu/2configs/ham/zigbee2mqtt/default.nix +++ b/makefu/2configs/ham/zigbee2mqtt/default.nix @@ -1,31 +1,20 @@ {config, pkgs, lib, ...}: -let - pkg = pkgs.callPackage ./zigbee2mqtt.nix { }; -in { - #users.users.z2m = { - # extraGroups = [ "dialout" ]; - #}; - + # symlink the zigbee controller services.udev.extraRules = '' SUBSYSTEM=="tty", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="16a8", SYMLINK+="cc2531", MODE="0660", GROUP="dailout" ''; - #systemd.services.zigbee2mqtt = { - # wantedBy = ["multi-user.target" ]; - # after = [ "network.target" ]; - # description = "Run zigbee2mqtt as daemon"; - # environment.ZIGBEE2MQTT_DATA = "/var/lib/zigbee2mqtt"; - # serviceConfig = { - # WorkingDirectory = ''${pkg}/lib/node_modules/zigbee2mqtt''; - # ExecStart = ''${pkgs.nodejs-12_x}/bin/node index.js''; - # StandardOutput = "inherit"; - # StandardError = "inherit"; - # Restart = "always"; - # User = "z2m"; - # StateDirectory = "zigbee2mqtt"; - # #DeviceAllow = "/dev/cc2531 rw"; - # }; - #}; + + system.activationScripts.installZigbee = '' + install -d /var/lib/zigbee2mqtt + ''; + + docker-containers.zigbee2mqtt = { + image = "koenkk/zigbee2mqtt"; + extraDockerOptions = [ "--device=/dev/cc2531:/dev/cc2531" ]; + volumes = ["/var/lib/zigbee2mqtt:/app/data"]; + }; + state = [ "/var/lib/zigbee2mqtt/configuration.yaml" "/var/lib/zigbee2mqtt/state.json" ]; } |