nixos-config/5pkgs/HermesLedControl/default.nix
2023-01-14 14:38:41 +01:00

55 lines
1.4 KiB
Nix

{ lib, pkgs, python3Packages, makeWrapper, ... }:
# How to use:
# create configuration .config/HermesLedControl/configuration.yml:
# engine: "rhasspy"
# pathToConfig: "/var/lib/rhasspy/de/profile.json"
# hardware: "respeaker4MicArray"
# pattern: "fake-name"
# enableDoA: false
with python3Packages; buildPythonApplication rec {
name = "HermesLedControl-${version}";
format = "other";
version = "3.0.4";
src = pkgs.fetchFromGitHub {
owner = "project-alice-assistant";
repo = "HermesLedControl";
rev = "v${version}";
hash = "sha256-fVbTQPSo3fNjLb8PDDDqhMC9Hez01rTH46cKz/mfwoU=";
};
patches = [
./remove-logger.patch
];
execWrapper = ''
#!/bin/sh
cd $out/lib/HermesLedControl && \
PYTHONPATH="${makePythonPath propagatedBuildInputs}" exec \
${python}/bin/python "$out/lib/HermesLedControl/main.py" "$@"
'';
installPhase = ''
install -d "$out/lib/"
install -d "$out/bin"
cp -r . $out/lib/HermesLedControl
echo "${execWrapper}" > HermesLedControl
install -Dm755 HermesLedControl $out/bin/HermesLedControl
'';
propagatedBuildInputs = [
spidev gpiozero rpi-gpio pyyaml paho-mqtt types-pyyaml makeWrapper
];
meta = {
homepage = "https://github.com/project-alice-assistant/HermesLedControl";
description = "Provides an easy way to control your leds in an Hermes environment";
license = lib.licenses.gpl3;
};
}