From 6a3064bb518c0bf8d8581d216ebb60cb1f7dc2ed Mon Sep 17 00:00:00 2001 From: wrvsrx Date: Fri, 3 Jan 2025 11:25:24 +0800 Subject: [PATCH] sillytavern: init at 1.13.0 --- pkgs/by-name/si/sillytavern/package.nix | 47 +++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 pkgs/by-name/si/sillytavern/package.nix diff --git a/pkgs/by-name/si/sillytavern/package.nix b/pkgs/by-name/si/sillytavern/package.nix new file mode 100644 index 000000000000..160e2bd5e64f --- /dev/null +++ b/pkgs/by-name/si/sillytavern/package.nix @@ -0,0 +1,47 @@ +{ + makeBinaryWrapper, + buildNpmPackage, + nodejs, + fetchFromGitHub, + lib, +}: +buildNpmPackage (finalAttrs: { + pname = "sillytavern"; + version = "1.13.0"; + + src = fetchFromGitHub { + owner = "SillyTavern"; + repo = "SillyTavern"; + tag = finalAttrs.version; + hash = "sha256-HUlypAPadlad12J60Xfa30qE18II6MceVYkMqANWlyI="; + }; + npmDepsHash = "sha256-IZMwDgazY+6oyuOlE7zdWcDn5D2/8v2mHX9yDBwK+4I="; + + nativeBuildInputs = [ makeBinaryWrapper ]; + + dontNpmBuild = true; + installPhase = '' + runHook preInstall + + mkdir -p $out/{bin,opt} + cp -r . $out/opt/sillytavern + makeWrapper ${lib.getExe nodejs} $out/bin/sillytavern \ + --add-flags $out/opt/sillytavern/server.js \ + --set-default NODE_ENV production + + runHook postInstall + ''; + + meta = { + description = "LLM Frontend for Power Users"; + longDescription = '' + SillyTavern is a user interface you can install on your computer (and Android phones) that allows you to interact with + text generation AIs and chat/roleplay with characters you or the community create. + ''; + downloadPage = "https://github.com/SillyTavern/SillyTavern/releases"; + homepage = "https://docs.sillytavern.app/"; + mainProgram = "sillytavern"; + license = lib.licenses.agpl3Only; + maintainers = [ lib.maintainers.wrvsrx ]; + }; +})