From b0050bc305c2c95555679e9f9d6526f4ed8acb80 Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Thu, 17 Oct 2024 23:35:19 -0700 Subject: [PATCH] add pySVS for controlling SVS subwoofers --- provision/modules/services/peripherals.nix | 1 + provision/overlays/default.nix | 1 + provision/pkgs/pySVS.nix | 33 ++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 provision/pkgs/pySVS.nix diff --git a/provision/modules/services/peripherals.nix b/provision/modules/services/peripherals.nix index caacaa65..96a3abc7 100644 --- a/provision/modules/services/peripherals.nix +++ b/provision/modules/services/peripherals.nix @@ -12,6 +12,7 @@ in { libimobiledevice # Library to support iPhone, iPod Touch and iPad devices on Linux ifuse # fuse filesystem implementation to access the contents of iOS devices usbtop + pySVS # control SVS subwoofers from the command-line ]; security.rtkit.enable = true; diff --git a/provision/overlays/default.nix b/provision/overlays/default.nix index a663b9ef..b34ca17b 100644 --- a/provision/overlays/default.nix +++ b/provision/overlays/default.nix @@ -8,4 +8,5 @@ final: prev: { gnome-set-panel-monitor = final.callPackage ../pkgs/gnome-set-panel-monitor.nix {}; gnome-fullscreen-to-empty-workspace = final.callPackage ../pkgs/gnome-fullscreen-to-empty-workspace.nix {}; ryujinx = final.callPackage ../pkgs/ryujinx/default.nix {}; + pySVS = final.callPackage ../pkgs/pySVS.nix {}; } diff --git a/provision/pkgs/pySVS.nix b/provision/pkgs/pySVS.nix new file mode 100644 index 00000000..28878a21 --- /dev/null +++ b/provision/pkgs/pySVS.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchFromGitHub, python3Packages }: + +python3Packages.buildPythonApplication rec { + pname = "pySVS"; + version = "0.0.1"; + + src = fetchFromGitHub { + owner = "starr-dusT"; + repo = "pySVS"; + rev = "5c483d96c58aab77a18b64f3003dd67be584977c"; + sha256 = "sha256-2j4bIGmuQOBuRAy4s6M56USbrJ2SGK3cFYc3AkQ6lKg="; + }; + + format = "pyproject"; + + propagatedBuildInputs = with python3Packages; [ + requests + bleak + pillow + setuptools + ]; + + # There are no tests + doCheck = false; + + meta = with lib; { + homepage = "https://github.com/starr-dusT/pySVS"; + description = "Python CLI for controlling SVS subwoofers over bluetooth."; + mainProgram = "pySVS"; + license = licenses.mit; + maintainers = [ maintainers.starr-dusT ]; + }; +}