{ lib, python3, fetchFromGitHub, ... }: let pythonPackages = python3.pkgs; in pythonPackages.buildPythonApplication rec { pname = "piano-led-visualizer"; version = "1.6"; src = fetchFromGitHub { owner = "onlaj"; repo = "Piano-LED-Visualizer"; rev = "v${version}"; sha256 = "sha256-SkNNu2pqVG40HBZZYJMCCKiRj1h1QdkteaPR3Ek2P7I="; }; patches = [ ./fix-log-dir.patch ]; propagatedBuildInputs = with pythonPackages; [ setuptools numpy pillow flask rpi-gpio webcolors psutil mido rtmidi-python spidev waitress websockets werkzeug # rpi_ws281x ]; format = "setuptools"; preBuild = '' cp ${./setup.py} setup.py sed -i 's/PLACEHOLDER_VERSION/${version}/' setup.py ''; postInstall = '' mv -v $out/bin/visualizer.py $out/bin/piano-led-visualizer ''; meta = with lib; { description = "Piano LED Visualizer for Raspberry Pi"; homepage = "https://github.com/onlaj/Piano-LED-Visualizer"; license = licenses.gpl3; maintainers = []; platforms = platforms.linux; }; }