summaryrefslogtreecommitdiff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/default.nix2
-rw-r--r--pkgs/moondeck-buddy.nix67
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;
+ };
+})