From 75507ec6f8c49677e4eafa1185f993fdb85f812a Mon Sep 17 00:00:00 2001 From: Leon van Kammen Date: Wed, 5 Mar 2025 11:51:21 +0100 Subject: [PATCH] xrsh: init at 0-unstable-2025-02-28 Co-authored-by: OPNA2608 --- pkgs/by-name/xr/xrsh/package.nix | 65 ++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 pkgs/by-name/xr/xrsh/package.nix diff --git a/pkgs/by-name/xr/xrsh/package.nix b/pkgs/by-name/xr/xrsh/package.nix new file mode 100644 index 000000000000..35c75d034557 --- /dev/null +++ b/pkgs/by-name/xr/xrsh/package.nix @@ -0,0 +1,65 @@ +{ + lib, + stdenv, + fetchFromGitea, + makeWrapper, + unstableGitUpdater, + writeShellApplication, + python3Packages, +}: + +stdenv.mkDerivation { + pname = "xrsh"; + version = "0-unstable-2025-02-28"; + + src = fetchFromGitea { + fetchSubmodules = true; + domain = "codeberg.org"; + owner = "xrsh"; + repo = "xrsh"; + rev = "5d6e9f4615e57f01ba0859000d90f4f162a06653"; + hash = "sha256-9I6c1GkO7XQZ242ZBCxPiPxkZaYYi/UDLoUvS6nE+M0="; + }; + + dontBuild = true; + + nativeBuildInputs = [ + makeWrapper + ]; + + installPhase = + let + launcher = writeShellApplication { + name = "xrsh"; + runtimeInputs = [ python3Packages.twisted ]; + text = '' + XRSH_ROOT="''${1}" + XRSH_PORT="''${XRSH_PORT-8080}" + + exec twistd -n web --listen "tcp:''${XRSH_PORT}" --path "''${XRSH_ROOT}" + ''; + }; + in + '' + runHook preInstall + + mkdir -p $out/{bin,share/xrsh} + cp -r -t $out/share/xrsh index.html src xrsh.js xrsh.ico xrsh.svg + + makeWrapper ${lib.getExe launcher} $out/bin/xrsh \ + --add-flags "${placeholder "out"}/share/xrsh/src" + + runHook postInstall + ''; + + passthru.updateScript = unstableGitUpdater { }; + + meta = { + mainProgram = "xrsh"; + description = "Terminal for WebXR to run REPLs & linux ISO"; + license = lib.licenses.gpl3Plus; + homepage = "https://xrsh.isvery.ninja"; + maintainers = with lib.maintainers; [ coderofsalvation ]; + platforms = lib.platforms.all; + }; +}