about summary refs log tree commit diff
path: root/pkgs/games/instawow/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/instawow/default.nix')
-rw-r--r--pkgs/games/instawow/default.nix48
1 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/games/instawow/default.nix b/pkgs/games/instawow/default.nix
new file mode 100644
index 0000000000000..36e60d548842f
--- /dev/null
+++ b/pkgs/games/instawow/default.nix
@@ -0,0 +1,48 @@
+{ lib, python3, fetchFromGitHub, plugins ? [ ] }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "instawow";
+  version = "v3.1.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "layday";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-xJw/tgHBfOlv5JYsWWdEJ8vpel348YtXCQsaLqgp3Z0=";
+  };
+
+  extras = [ ];  # Disable GUI, most dependencies are not packaged.
+
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+    poetry-dynamic-versioning
+  ];
+  propagatedBuildInputs = with python3.pkgs; [
+    aiohttp
+    aiohttp-client-cache
+    alembic
+    attrs
+    cattrs
+    click
+    iso8601
+    loguru
+    mako
+    packaging
+    pluggy
+    prompt-toolkit
+    questionary
+    rapidfuzz
+    sqlalchemy
+    truststore
+    typing-extensions
+    yarl
+  ] ++ plugins;
+
+  meta = with lib; {
+    homepage = "https://github.com/layday/instawow";
+    description = "World of Warcraft add-on manager CLI and GUI";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ seirl ];
+  };
+}