diff options
| author | Mel <mel@rnrd.eu> | 2026-03-08 00:43:07 +0100 |
|---|---|---|
| committer | Mel <mel@rnrd.eu> | 2026-03-16 20:51:38 +0100 |
| commit | c6149a5bedd00e7aefeca1524c19f210ed05718d (patch) | |
| tree | dc92b2f043cbc0c0fbc68c6d3cbfde333b5da78f /pkgs | |
| parent | 11db9a69a4f82f4219961e8035ec9b9d5dce32af (diff) | |
| download | minerals-c6149a5bedd00e7aefeca1524c19f210ed05718d.tar.zst minerals-c6149a5bedd00e7aefeca1524c19f210ed05718d.zip | |
Add Moondeck utilities to aid Sunshine on remote servers
Signed-off-by: Mel <mel@rnrd.eu>
Diffstat (limited to 'pkgs')
| -rw-r--r-- | pkgs/default.nix | 2 | ||||
| -rw-r--r-- | pkgs/moondeck-buddy.nix | 67 |
2 files changed, 69 insertions, 0 deletions
diff --git a/pkgs/default.nix b/pkgs/default.nix index eeeb5a7..c2436d9 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -18,4 +18,6 @@ wine = pkgs.callPackage ./wine.nix { }; yubikey-touch-detector = pkgs.callPackage ./yubikey-touch-detector { }; + + moondeck-buddy = pkgs.callPackage ./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; + }; +}) |
