diff --git a/modules/tibia.nix b/modules/tibia.nix index 86abf06..a36ac6c 100644 --- a/modules/tibia.nix +++ b/modules/tibia.nix @@ -1,8 +1,7 @@ { config, pkgs, lib, ... }: let - - # Inline legacy libxml2 (2.9.x) because modern Nixpkgs removed it + # Legacy libxml2 (2.9.x) — required by Tibia libxml2_2_9 = pkgs.stdenv.mkDerivation { pname = "libxml2-2.9"; version = "2.9.14"; @@ -23,13 +22,28 @@ let enableParallelBuilding = true; }; - # Wrapper for the real client + # Centralized runtime library path for Tibia + tibiaLibPath = + lib.makeLibraryPath [ + pkgs.nss + pkgs.nspr + pkgs.libxkbfile + libxml2_2_9 + ]; + + # Helper: LD_LIBRARY_PATH export line + exportLibs = '' + export LD_LIBRARY_PATH="${tibiaLibPath}:$LD_LIBRARY_PATH" + ''; + + # Wrapper for the real client (system-wide) tibiaClientWrapper = pkgs.writeShellScriptBin "tibia-client" '' #!/usr/bin/env bash - export LD_LIBRARY_PATH="${pkgs.nss}/lib:${pkgs.libxkbfile}/lib:${pkgs.nspr}/lib:${libxml2_2_9}/lib:$LD_LIBRARY_PATH" + ${exportLibs} exec steam-run "$HOME/.local/share/CipSoft GmbH/Tibia/packages/Tibia/bin/client" "$@" ''; - # Script that patches Tibia's package.json + + # Patcher for Tibia's package.json tibiaPatcher = pkgs.writeShellScriptBin "tibia-patch" '' #!/usr/bin/env bash set -e @@ -43,20 +57,21 @@ let exit 0 fi - # Create wrapper INSIDE the Tibia package directory + # Create wrapper inside Tibia package directory cat > "$LOCALWRAPPER" <