summaryrefslogtreecommitdiffstats
path: root/krebs/2configs/shack/power/u300-power.nix
blob: 66e54169a175291062a6ff310bf7d254ea9856ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{ pkgs, ... }:
let
  src = pkgs.fetchFromGitHub {
    repo = "shackstrom";
    owner = "samularity";
    rev = "adfbdc7d12000fbc9fd9367c8ef0a53b7d0a9fad";
    hash = "sha256-77vSX2+1XXaBVgLka+tSEK/XYZASEk9iq+uEuO1aOUQ=";
  };
  pkg = pkgs.writers.writePython3 "test_python3" {
    libraries = [ pkgs.python3Packages.requests pkgs.python3Packages.paho-mqtt  ];
  } (builtins.readFile "${src}/shackstrom.py");
in
{
    systemd.services = {
      u300-power = {
        enable = true;
        environment = { 
          DATA_URL = "http://10.42.20.255/csv.html";
          BROKER = "mqtt.shack";
        };
        serviceConfig = {
          Restart = "always";
          ExecStart = pkg;
          RestartSec = "15s";
        };
        wantedBy = [ "multi-user.target" ];
      };
    };
}