Change:
Project description As discussed in is now EOL and the dev's have moved their effort to . As per the in order for it to work specific need to be set up. We can probably do something similar to what we do for the expression: Metadata homepage URL: source URL: license: GPL3 platforms: linux Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
For people who subscribed to this issue: I opened to add streamcontroller

Discussion:
./programs/ssh.nix ./programs/starship.nix ./programs/steam.nix <ins> ./programs/streamcontroller.nix </ins> ./programs/streamdeck-ui.nix ./programs/sysdig.nix ./programs/system-config-printer.nix

<ins> { config, lib, pkgs, ... }: let cfg = config.programs.streamcontroller; in { options.programs.streamcontroller = { enable = lib.mkEnableOption "StreamController"; package = lib.mkPackageOption pkgs "streamcontroller" { default = [ "streamcontroller" ]; }; }; config = lib.mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; services.udev.packages = [ cfg.package ]; }; meta.maintainers = with lib.maintainers; [ sifmelcara ]; } </ins>

<ins> { stdenv, lib, python3Packages, fetchFromGitHub, copyDesktopItems, makeDesktopItem, wrapGAppsHook4, gobject-introspection, libadwaita, libportal, libportal-gtk4, xdg-desktop-portal, xdg-desktop-portal-gtk, }: stdenv.mkDerivation rec { pname = "streamcontroller"; # Note that the latest tagged version (1.5.0-beta.6) includes a python dependency # that doesn't exist anymore, so we package an unstable version instead. version = "1.5.0-beta.6-unstable-2024-08-13"; src = fetchFromGitHub { repo = "StreamController"; owner = "StreamController"; rev = "dbb6460a69137af192db09d504224ae9f1127cbd"; hash = "sha256-+YYzHLRU5MNjF3iaKIDj9k4PVg+vnEZhbc3ZmNI7xyw="; }; # The installation method documented upstream # (https://streamcontroller.github.io/docs/latest/installation/) is to clone the repo, # run `pip install`, then run `python3 main.py` to launch the program. # Due to how the code is structured upstream, it's infeasible to use `buildPythonApplication`. dontBuild = true; installPhase = '' runHook preInstall mkdir -p $out/usr/lib/streamcontroller cp -r ./* $out/usr/lib/streamcontroller/ mkdir -p $out/bin/ # Note that the implementation of main.py assumes # working directory to be at the root of the project's source code makeWrapper  ${python3Packages.python.interpreter}  $out/bin/streamcontroller  --add-flags main.py  --chdir $out/usr/lib/streamcontroller  --prefix PYTHONPATH : "$PYTHONPATH" mkdir -p "$out/etc/udev/rules.d" cp ./udev.rules $out/etc/udev/rules.d/70-streamcontroller.rules install -D ./flatpak/icon_256.png $out/share/icons/hicolor/256x256/apps/streamcontroller.png runHook postInstall ''; desktopItems = [ (makeDesktopItem { name = "StreamController"; desktopName = "StreamController"; exec = "streamcontroller"; icon = "streamcontroller"; comment = "Control your Elgato Stream Decks"; categories = [ "Utility" ]; }) ]; nativeBuildInputs = [ copyDesktopItems wrapGAppsHook4 gobject-introspection ]; buildInputs = [ libadwaita libportal libportal-gtk4 xdg-desktop-portal xdg-desktop-portal-gtk ] ++ (with python3Packages; [ annotated-types async-lru cairocffi cairosvg certifi cffi charset-normalizer click colorama contourpy cssselect2 cycler dbus-python decorator defusedxml distlib dnspython evdev filelock fonttools fuzzywuzzy gcodepy get-video-properties gitdb idna imageio imageio-ffmpeg indexed-bzip2 jinja2 joblib kiwisolver levenshtein linkify-it-py loguru markdown-it-py markupsafe matplotlib mdit-py-plugins mdurl meson meson-python natsort nltk numpy opencv4 packaging pillow platformdirs plumbum proglog psutil pulsectl pycairo pyclip pycparser pydantic pydantic-core pyenchant pygments pygobject3 pymongo pyparsing pyperclip pyproject-metadata pyro5 pyspellchecker python-dateutil pyudev pyusb pyyaml rapidfuzz regex requests requirements-parser rich rpyc serpent setproctitle six smmap speedtest-cli streamcontroller-plugin-tools streamdeck textual tinycss2 tqdm types-setuptools typing-extensions uc-micro-py urllib3 usb-monitor webencodings websocket-client ]); meta = with lib; { description = "Elegant Linux app for the Elgato Stream Deck with support for plugins"; homepage = "https://core447.com/"; license = licenses.gpl3; mainProgram = "streamcontroller"; maintainers = with maintainers; [ sifmelcara ]; platforms = lib.platforms.linux; }; } </ins>

<ins> { buildPythonPackage, fetchFromGitHub, lib, loguru, rpyc, }: buildPythonPackage rec { pname = "streamcontroller-plugin-tools"; version = "2.0.0"; src = fetchFromGitHub { owner = "StreamController"; repo = "streamcontroller-plugin-tools"; rev = version; hash = "sha256-dQZPRSzHhI3X+Pf7miwJlECGFgUfp68PtvwXAmpq5/s="; }; dependencies = [ loguru rpyc ]; pythonImportsCheck = [ "streamcontroller_plugin_tools" ]; meta = with lib; { description = "StreamController plugin tools"; homepage = "https://github.com/StreamController/streamcontroller-plugin-tools"; license = licenses.gpl3; maintainers = with maintainers; [ sifmelcara ]; platforms = platforms.linux; }; } </ins>

<ins> { buildPythonPackage, fetchPypi, lib, pyudev, }: buildPythonPackage rec { pname = "usb-monitor"; version = "1.21"; src = fetchPypi { inherit version; pname = "usb_monitor"; hash = "sha256-M+BUmbNxQWcULFECexTnp55EZiJ6y3bYCEtSwqKldAk="; }; dependencies = [ pyudev ]; # has no tests doCheck = false; pythonImportsCheck = [ "usbmonitor" ]; meta = { description = "Cross-platform library for USB device monitoring"; homepage = "https://github.com/Eric-Canas/USBMonitor"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ sifmelcara ]; platforms = lib.platforms.linux; }; } </ins>

strct = callPackage ../development/python-modules/strct { }; <ins> streamcontroller-plugin-tools = callPackage ../development/python-modules/streamcontroller-plugin-tools { }; </ins> streamdeck = callPackage ../development/python-modules/streamdeck { }; streaming-form-data = callPackage ../development/python-modules/streaming-form-data { };

usb-devices = callPackage ../development/python-modules/usb-devices { }; <ins> usb-monitor = callPackage ../development/python-modules/usb-monitor { }; </ins> usbrelay-py = callPackage ../os-specific/linux/usbrelay/python.nix { }; usbtmc = callPackage ../development/python-modules/usbtmc { };