From c6149a5bedd00e7aefeca1524c19f210ed05718d Mon Sep 17 00:00:00 2001 From: Mel Date: Sun, 8 Mar 2026 00:43:07 +0100 Subject: Add Moondeck utilities to aid Sunshine on remote servers Signed-off-by: Mel --- pkgs/moondeck-buddy.nix | 67 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 pkgs/moondeck-buddy.nix (limited to 'pkgs/moondeck-buddy.nix') diff --git a/pkgs/moondeck-buddy.nix b/pkgs/moondeck-buddy.nix new file mode 100644 index 0000000..1b4c81f --- /dev/null +++ b/pkgs/moondeck-buddy.nix @@ -0,0 +1,67 @@ +# this package is currently waiting for approval into nixpkgs. +# see: https://github.com/NixOS/nixpkgs/pull/375287 +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + kdePackages, + cmake, + ninja, + qt6, + procps, + xorg, + steam, + useNixSteam ? true, +}: + +let + inherit (kdePackages) qtbase wrapQtAppsHook; + qtEnv = + with qt6; + env "qt-env-custom-${qtbase.version}" [ + qthttpserver + qtwebsockets + ]; +in +stdenv.mkDerivation (finalAttrs: { + pname = "moondeck-buddy"; + version = "1.9.1"; + + src = fetchFromGitHub { + owner = "FrogTheFrog"; + repo = "moondeck-buddy"; + tag = "v${finalAttrs.version}"; + fetchSubmodules = true; + hash = "sha256-ASqEyhELzOz0sU5sysluay0pMqiBj1lFCEWMQ0oe8YE="; + }; + + buildInputs = [ + procps + xorg.libXrandr + qtbase + qtEnv + ]; + nativeBuildInputs = [ + cmake + ninja + wrapQtAppsHook + ]; + + postPatch = lib.optionalString useNixSteam '' + substituteInPlace src/lib/shared/appmetadata.cpp \ + --replace-fail /usr/bin/steam ${lib.getExe steam}; + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + mainProgram = "MoonDeckBuddy"; + description = "Helper to work with moonlight on a steamdeck"; + homepage = "https://github.com/FrogTheFrog/moondeck-buddy"; + changelog = "https://github.com/FrogTheFrog/moondeck-buddy/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.lgpl3Only; + maintainers = with lib.maintainers; [ redxtech ]; + platforms = lib.platforms.linux; + }; +}) -- cgit 1.4.1