about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/games/steamback/default.nix61
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 63 insertions, 0 deletions
diff --git a/pkgs/tools/games/steamback/default.nix b/pkgs/tools/games/steamback/default.nix
new file mode 100644
index 0000000000000..44ee3db8db08f
--- /dev/null
+++ b/pkgs/tools/games/steamback/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, buildPythonApplication
+, fetchPypi
+, pythonRelaxDepsHook
+, setuptools
+, pillow
+, psutil
+, async-tkinter-loop
+, timeago
+, platformdirs
+, sv-ttk
+}:
+
+buildPythonApplication rec {
+  pname = "steamback";
+  version = "0.3.6";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-hvMPSxIfwwQqo80JCpYhcbVY4kXs5jWtjjafVSMrw6o=";
+  };
+
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+  ];
+
+  buildInputs = [
+    setuptools
+    pillow
+  ];
+
+  propagatedBuildInputs = [
+    psutil
+    async-tkinter-loop
+    timeago
+    platformdirs
+    sv-ttk
+  ];
+
+  pythonRelaxDeps = [
+    "async-tkinter-loop"
+    "platformdirs"
+    "Pillow"
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+
+    $out/bin/${pname} --help
+
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "A Decky plugin to add versioned save-game snapshots to Steam-cloud enabled games";
+    homepage = "https://github.com/geeksville/steamback";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ AngryAnt ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 29600cc584899..d8a1fd66d063e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -37400,6 +37400,8 @@ with pkgs;
 
   steam-acf = callPackage ../tools/games/steam-acf { };
 
+  steamback = python311.pkgs.callPackage ../tools/games/steamback { };
+
   protontricks = python3Packages.callPackage ../tools/package-management/protontricks {
     inherit winetricks steam-run yad;
   };