12 python3Packages.buildPythonApplication rec {
13 pname = "streamdeck-ui";
16 src = fetchFromGitHub {
17 repo = "streamdeck-linux-gui";
18 owner = "streamdeck-linux-gui";
20 sha256 = "sha256-AIE9j022L4WSlHBAu3TT5uE4Ilgk/jYSmU03K8Hs8xY=";
24 # nixpkgs has a newer pillow version
30 name = "streamdeck-ui";
31 desktopName = "Stream Deck UI";
32 icon = "streamdeck-ui";
34 comment = "UI for the Elgato Stream Deck";
35 categories = [ "Utility" ];
37 in builtins.map makeDesktopItem [
40 name = "${common.name}-noui";
41 exec = "${common.exec} --no-ui";
49 SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", TAG+="uaccess"
53 mkdir -p $out/lib/systemd/user
54 substitute scripts/streamdeck.service $out/lib/systemd/user/streamdeck.service \
55 --replace '<path to streamdeck>' $out/bin/streamdeck
57 mkdir -p "$out/etc/udev/rules.d"
58 cp ${writeText "70-streamdeck.rules" udevRules} $out/etc/udev/rules.d/70-streamdeck.rules
60 mkdir -p "$out/share/pixmaps"
61 cp streamdeck_ui/logo.png $out/share/pixmaps/streamdeck-ui.png
64 dontWrapQtApps = true;
66 makeWrapperArgs = [ "\${qtWrapperArgs[@]}" "\${gappsWrapperArgs[@]}"];
71 python3Packages.poetry-core
77 propagatedBuildInputs = with python3Packages; [
86 ] ++ lib.optionals stdenv.isLinux [
92 python3Packages.pytest
100 description = "Linux compatible UI for the Elgato Stream Deck";
101 homepage = "https://streamdeck-linux-gui.github.io/streamdeck-linux-gui/";
102 license = licenses.mit;
103 mainProgram = "streamdeck";
104 maintainers = with maintainers; [ majiir ];