dotfiles/pkgs/grott.nix

27 lines
857 B
Nix

{ stdenv, python3, fetchFromGitHub, makeWrapper }:
let
python = python3.withPackages (p: [ p.paho-mqtt p.libscrc ]);
in
stdenv.mkDerivation (o: {
pname = "grott";
version = "2.7.8";
src = fetchFromGitHub {
owner = "johanmeijer";
repo = o.pname;
rev = "cb7e3db8a9ea2ab11fad062d68a3e98e6a87cedf";
sha256 = "rFxSQZypa+G45jj/ktJLlqfMIp1yHoEmfzB1BvHLeLo=";
};
nativeBuildInputs = [ makeWrapper ];
buildPhase = "true";
installPhase = ''
mkdir -p $out/share/grott
cp *.py examples/recwl.txt examples/Home\ Assistent/grott_ha.py $out/share/grott/
makeWrapper ${python}/bin/python3 $out/bin/grott \
--add-flags $out/share/grott/grott.py
'';
meta = with stdenv.lib; {
description = "Grott is a program to read data from a Growatt inverter and send it to a MQTT broker";
homepage = o.src.homePage;
};
})