commit f1a6562395a126a57e126676b59a9ace9009fadd
parent 35fb659c5325c0c723f97de3b1786de95fc94228
Author: breadcat <breadcat@users.noreply.github.com>
Date: Fri, 19 Dec 2025 21:01:13 +0000
Works when using FHSEnv, at long last
Diffstat:
1 file changed, 51 insertions(+), 45 deletions(-)
diff --git a/scripts/vidyascape.nix b/scripts/vidyascape.nix
@@ -1,53 +1,60 @@
{ pkgs, ... }:
let
- vidyascape = pkgs.writeShellScriptBin "vidyascape" ''
+ vidyascape = pkgs.buildFHSEnv {
+ name = "vidyascape";
+ targetPkgs = pkgs: [
+ pkgs.jdk8
+ pkgs.curl
+ pkgs.gnused
+ ];
+ runScript = pkgs.writeShellScript "vidyascape-inner" ''
+ # variables
+ launcher_uri="https://vidyascape.org/files/vidyascape_launcher.jar"
+ config_file="$HOME/.vscape2/settings.ini"
+ declare -a configs=(
+ "dropPosition=2"
+ "enabled=true"
+ "hideAfter=3"
+ "legacyNpcs=false"
+ "legacyObjects=true"
+ "loginMusic=false"
+ "lowDetail=false"
+ "modernRendering=true"
+ "orbsOnRight=false"
+ "pixelScaling=1"
+ "preferredWorld=2"
+ "rememberCredentials=true"
+ "rememberWorld=true"
+ "sizeMode=RESIZABLE"
+ )
-# variables
-launcher_uri="https://vidyascape.org/files/vidyascape_launcher.jar"
-config_file="$HOME/.vscape2/settings.ini"
-declare -a configs=(
- "dropPosition=2"
- "enabled=true"
- "hideAfter=3"
- "legacyNpcs=false"
- "legacyObjects=true"
- "loginMusic=false"
- "lowDetail=false"
- "modernRendering=true"
- "orbsOnRight=false"
- "pixelScaling=1"
- "preferredWorld=2"
- "rememberCredentials=true"
- "rememberWorld=true"
- "sizeMode=RESIZABLE"
- )
+ # launcher binary
+ if [ -f "/tmp/$(basename $launcher_uri)" ]; then
+ echo "Launcher exists, skipping"
+ else
+ echo "Launcher doesn't exist, downloading."
+ curl -s -o "/tmp/$(basename $launcher_uri)" "$launcher_uri"
+ fi
-# launcher binary
-if [ -f "/tmp/$(basename $launcher_uri)" ]; then
- echo "Launcher exists, skipping"
-else
- echo "Launcher doesn't exist, downloading."
- curl -s -o "/tmp/$(basename $launcher_uri)" "$launcher_uri"
-fi
+ # config file
+ if [ -f "$config_file" ]; then
+ for kv in "''${configs[@]}"; do
+ key=''${kv%%=*}
+ value=''${kv#*=}
+ # Replace key value if exists
+ sed -i -E "s|^([[:space:]]*$key[[:space:]]*=[[:space:]]*).*|\1$value|" "$config_file"
+ done
+ else
+ echo "Config doesn't exist so will not be patched until next run."
+ fi
-# config file
-if [ -f "$config_file" ]; then
- for kv in "''${configs[@]}"; do
- key=''${kv%%=*}
- value=''${kv#*=}
- # Replace key value if exists
- sed -i -E "s|^([[:space:]]*$key[[:space:]]*=[[:space:]]*).*|\1$value|" "$config_file"
- done
-else
- echo "Config doesn't exist so will not be patched until next run."
-fi
-
-# launch game
-echo "Launching game..."
-${pkgs.jre8}/bin/java -jar "/tmp/$(basename $launcher_uri)"
- '';
+ # launch game
+ echo "Launching game..."
+ java -jar "/tmp/$(basename $launcher_uri)"
+ '';
+ };
in {
environment.systemPackages = [ vidyascape ];
-}
-\ No newline at end of file
+}