summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/deployment/led-fader.nix
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2017-05-11 16:40:51 +0200
committermakefu <github@syntax-fehler.de>2017-05-11 16:40:51 +0200
commitd92281cf4dc8244076a9826f1586d287db5be9ef (patch)
tree74ba36e7d6f05e359e27670f47ba788eaba0ba47 /makefu/2configs/deployment/led-fader.nix
parentd2f896842e59f2e8bdce44926b1bf49672c9c91f (diff)
m 2 led-fader: use ampel
Diffstat (limited to 'makefu/2configs/deployment/led-fader.nix')
-rw-r--r--makefu/2configs/deployment/led-fader.nix30
1 files changed, 21 insertions, 9 deletions
diff --git a/makefu/2configs/deployment/led-fader.nix b/makefu/2configs/deployment/led-fader.nix
index fee74199..a1841649 100644
--- a/makefu/2configs/deployment/led-fader.nix
+++ b/makefu/2configs/deployment/led-fader.nix
@@ -3,6 +3,26 @@
with import <stockholm/lib>;
let
mq = "192.168.8.11";
+
+ pkg = pkgs.stdenv.mkDerivation {
+ name = "ampel-master";
+ src = pkgs.fetchgit {
+ url = "http://cgit.euer.krebsco.de/ampel";
+ rev = "07a6791de368e16cc0864d2676fd255eba522cee";
+ sha256 = "1jxjapvkfglvgapy7gjbr1nra3ay418nvz70bvypcmv7wc8d4h8q";
+ };
+ buildInputs = [
+ (pkgs.python35.withPackages (pythonPackages: with pythonPackages; [
+ docopt
+ paho-mqtt
+ ]))
+ ];
+ installPhase = ''
+ install -m755 -D fade.py $out/bin/fade.py
+ install -m755 -D ampel.py $out/bin/ampel
+ install -m755 -D times.json $out/share/times.json
+ '';
+ };
in {
systemd.services.led-fader = {
description = "Send led change to message queue";
@@ -10,17 +30,9 @@ in {
NIX_PATH = "/var/src";
};
wantedBy = [ "multi-user.target" ];
- path = with pkgs; [
- nix # nix-shell
- mosquitto #mosquitto_pub
- bash # nix-shell
- ];
serviceConfig = {
# User = "nobody"; # need a user with permissions to run nix-shell
- ExecStart = pkgs.writeDash "run-fader" ''
- ${./fade.py} --add-empty --mode chain 3 loop --skip-unchanged 0.002 0.1 \
- | mosquitto_pub -h ${mq} -p 1883 -l -t '/leds/nodemcu-switcher/set'
- '';
+ ExecStart = "${pkg}/bin/ampel 4 ${pkg}/share/times.json";
PrivateTmp = true;
};
};