docs: Update README and documentation for lxs multi-tool across Linux and Windows platforms.

This commit is contained in:
2026-09-09 15:32:05 -04:00
parent 3fda22d3d5
commit 1df5cdb0bb
37 changed files with 4811 additions and 75 deletions
+19 -3
View File
@@ -6,10 +6,26 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
export LXS_LOG_FILE="/tmp/lxs_cloudpanel.log"
# ═══════════════════════════════════════════════════════════════════════════
+19 -3
View File
@@ -6,10 +6,26 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers, helpers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
export LXS_LOG_FILE="/tmp/lxs_coolify.log"
require_root "$0" "$@"
+21 -5
View File
@@ -6,13 +6,29 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
# Run a sibling app script. Prefers a file next to this script (installed
# layout); falls back to downloading from LXS_RAW_BASE.
# layout); falls back to downloading from LXS_RAW_PLATFORM_BASE.
run_sibling() {
local script_path=$1
shift
@@ -35,7 +51,7 @@ run_sibling() {
local temp_file exit_code
temp_file=$(mktemp "/tmp/lxs.${script_name%.*}.XXXXXX.sh")
echo -e "${CYAN}[..] Fetching ${BOLD}${script_name}${NC}${CYAN}...${NC}"
if curl -fsSL -H "Cache-Control: no-cache" -o "${temp_file}" "${LXS_RAW_BASE}/${script_path}"; then
if curl -fsSL -H "Cache-Control: no-cache" -o "${temp_file}" "${LXS_RAW_PLATFORM_BASE}/${script_path}"; then
echo -e "${GREEN}[OK] Payload acquired${NC}"
chmod +x "${temp_file}"
"${temp_file}" "$@"
+19 -3
View File
@@ -6,10 +6,26 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers, helpers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
export LXS_LOG_FILE="/tmp/lxs_proxmox.log"
require_root "$0" "$@"
+19 -3
View File
@@ -6,10 +6,26 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers, helpers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
export LXS_LOG_FILE="/tmp/lxs_pterodactyl.log"
require_root "$0" "$@"
+19 -3
View File
@@ -6,10 +6,26 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers, helpers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
export LXS_LOG_FILE="/tmp/lxs_uptime_kuma.log"
require_root "$0" "$@"
+22 -17
View File
@@ -17,8 +17,8 @@ if [ -n "${BASH_SOURCE[0]:-}" ]; then
LXS_SCRIPT_DIR=$(dirname "$_lxs_resolved")
unset _lxs_resolved
fi
if [ -n "$LXS_SCRIPT_DIR" ] && [ -r "${LXS_SCRIPT_DIR}/VERSION" ]; then
LXS_VERSION=$(head -n1 "${LXS_SCRIPT_DIR}/VERSION" 2>/dev/null | tr -d '[:space:]')
if [ -n "$LXS_SCRIPT_DIR" ] && [ -r "${LXS_SCRIPT_DIR}/../VERSION" ]; then
LXS_VERSION=$(head -n1 "${LXS_SCRIPT_DIR}/../VERSION" 2>/dev/null | tr -d '[:space:]')
fi
LXS_VERSION="${LXS_VERSION:-dev}"
@@ -27,6 +27,12 @@ LXS_BRANCH="${LXS_BRANCH:-main}"
export LXS_RAW_BASE="${LXS_RAW_BASE:-${LXS_REPO_URL}/raw/branch/${LXS_BRANCH}}"
LXS_TARBALL_URL="${LXS_TARBALL_URL:-${LXS_REPO_URL}/archive/${LXS_BRANCH}.tar.gz}"
# Platform sub-tree inside the repo. Every apps/ and tools/ path is resolved
# under it, both on disk (${LXS_INSTALL_DIR}/linux/...) and remotely
# (${LXS_RAW_BASE}/linux/...). A future macos/ tree only needs this to change.
LXS_PLATFORM_DIR="linux"
export LXS_RAW_PLATFORM_BASE="${LXS_RAW_BASE}/${LXS_PLATFORM_DIR}"
LXS_INSTALL_DIR="${LXS_INSTALL_DIR:-/usr/local/share/lxs}"
LXS_BIN_PATH="${LXS_BIN_PATH:-/usr/local/bin/lxs}"
LXS_CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/lxs"
@@ -43,7 +49,7 @@ if [ -n "$LXS_SCRIPT_DIR" ] && [ -r "${LXS_SCRIPT_DIR}/lib/common.sh" ]; then
# shellcheck disable=SC1091
. "${LXS_SCRIPT_DIR}/lib/common.sh"
else
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || {
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || {
echo "Failed to fetch lib/common.sh" >&2
exit 1
}
@@ -67,12 +73,6 @@ lxs_self_path() {
echo "$src"
}
lxs_is_installed() {
local self
self=$(lxs_self_path) || return 1
[ "$(dirname "$self")" = "$LXS_INSTALL_DIR" ]
}
lxs_need_root_for() {
local path=$1
local parent
@@ -167,9 +167,14 @@ download_and_run() {
shift
local script_name local_path
script_name=$(basename "$script_path")
local_path="${LXS_INSTALL_DIR}/${script_path}"
if lxs_is_installed && [ -f "$local_path" ]; then
# Prefer the copy sitting next to this script, whatever the prefix: that
# covers the installed layout, a git checkout, and a custom
# LXS_INSTALL_DIR alike. Only a `curl | bash` run has no siblings on disk.
local_path=""
[ -n "$LXS_SCRIPT_DIR" ] && local_path="${LXS_SCRIPT_DIR}/${script_path}"
if [ -n "$local_path" ] && [ -f "$local_path" ]; then
chmod +x "$local_path" 2>/dev/null || true
echo ""
show_separator
@@ -194,7 +199,7 @@ download_and_run() {
if curl -fsSL -H "Cache-Control: no-cache" \
-o "${temp_file}" \
"${LXS_RAW_BASE}/${script_path}"; then
"${LXS_RAW_PLATFORM_BASE}/${script_path}"; then
echo -e "${GREEN}[OK] Payload acquired${NC}"
chmod +x "${temp_file}"
@@ -217,7 +222,7 @@ download_and_run() {
return $exit_code
else
echo -e "${RED}[KO] Failed to download ${script_path}${NC}"
echo -e "${RED} URL: ${LXS_RAW_BASE}/${script_path}${NC}"
echo -e "${RED} URL: ${LXS_RAW_PLATFORM_BASE}/${script_path}${NC}"
rm -f "${temp_file}"
return 1
fi
@@ -309,8 +314,8 @@ lxs_sync_install() {
return 1
fi
if [ ! -f "${work}/extracted/lxs.sh" ] || [ ! -f "${work}/extracted/VERSION" ]; then
echo -e "${RED}[KO] Tarball is missing lxs.sh or VERSION${NC}"
if [ ! -f "${work}/extracted/${LXS_PLATFORM_DIR}/lxs.sh" ] || [ ! -f "${work}/extracted/VERSION" ]; then
echo -e "${RED}[KO] Tarball is missing ${LXS_PLATFORM_DIR}/lxs.sh or VERSION${NC}"
return 1
fi
@@ -334,8 +339,8 @@ lxs_sync_install() {
rm -rf "${LXS_INSTALL_DIR}.old"
fi
chmod +x "${LXS_INSTALL_DIR}/lxs.sh" 2>/dev/null || true
find "${LXS_INSTALL_DIR}/apps" "${LXS_INSTALL_DIR}/tools" -name '*.sh' -exec chmod +x {} + 2>/dev/null || true
chmod +x "${LXS_INSTALL_DIR}/lxs.sh" "${LXS_INSTALL_DIR}/${LXS_PLATFORM_DIR}/lxs.sh" 2>/dev/null || true
find "${LXS_INSTALL_DIR}/${LXS_PLATFORM_DIR}" -name '*.sh' -exec chmod +x {} + 2>/dev/null || true
if [ -e "$LXS_BIN_PATH" ] || [ -L "$LXS_BIN_PATH" ]; then
rm -f "$LXS_BIN_PATH"
+19 -3
View File
@@ -6,10 +6,26 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers, helpers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
export LXS_LOG_FILE="/tmp/lxs_harden.log"
require_root "$0" "$@"
+21 -5
View File
@@ -6,13 +6,29 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
# Run a sibling tool script. Prefers a file next to this script (installed
# layout); falls back to downloading from LXS_RAW_BASE.
# layout); falls back to downloading from LXS_RAW_PLATFORM_BASE.
run_sibling() {
local script_path=$1
shift
@@ -36,7 +52,7 @@ run_sibling() {
local temp_file exit_code
temp_file=$(mktemp "/tmp/lxs.${script_name%.*}.XXXXXX.sh")
echo -e "${CYAN}[..] Fetching ${BOLD}${script_name}${NC}${CYAN}...${NC}"
if curl -fsSL -H "Cache-Control: no-cache" -o "${temp_file}" "${LXS_RAW_BASE}/${script_path}"; then
if curl -fsSL -H "Cache-Control: no-cache" -o "${temp_file}" "${LXS_RAW_PLATFORM_BASE}/${script_path}"; then
echo -e "${GREEN}[OK] Payload acquired${NC}"
chmod +x "${temp_file}"
"${temp_file}" "$@"
+19 -3
View File
@@ -6,10 +6,26 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers, helpers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
export LXS_LOG_FILE="/tmp/lxs_root_password.log"
require_root "$0" "$@"
+19 -3
View File
@@ -6,10 +6,26 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers, helpers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
export LXS_LOG_FILE="/tmp/lxs_root_ssh_login.log"
require_root "$0" "$@"
+19 -3
View File
@@ -6,10 +6,26 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
export LXS_LOG_FILE="/tmp/lxs_benchmark.log"
# Always clean up benchmark artifacts on exit, even on error or Ctrl+C. Without
+19 -3
View File
@@ -6,10 +6,26 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
export LXS_LOG_FILE="/tmp/lxs_system_infos.log"
# Menu: System Infos
+19 -3
View File
@@ -6,10 +6,26 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers, helpers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
export LXS_LOG_FILE="/tmp/lxs_update_server.log"
require_root "$0" "$@"
+19 -3
View File
@@ -6,10 +6,26 @@
# Date: 2025
# Load LXS common library (colors, separator, run_spinner, loggers, helpers)
# Prefers the sibling ../lib/common.sh (repo checkout or installed layout) and
# only hits the network when this script is run standalone via curl.
LXS_RAW_BASE="${LXS_RAW_BASE:-https://git.hyko.cx/hykocx/lxs/raw/branch/main}"
_lib=$(curl -fsSL "${LXS_RAW_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
LXS_RAW_PLATFORM_BASE="${LXS_RAW_PLATFORM_BASE:-${LXS_RAW_BASE}/linux}"
_lxs_lib=""
if [ -n "${BASH_SOURCE[0]:-}" ]; then
_lxs_self=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self=$(realpath "${BASH_SOURCE[0]}" 2>/dev/null) \
|| _lxs_self="${BASH_SOURCE[0]}"
_lxs_lib="$(dirname "$_lxs_self")/../lib/common.sh"
fi
if [ -n "$_lxs_lib" ] && [ -r "$_lxs_lib" ]; then
# shellcheck disable=SC1090,SC1091
. "$_lxs_lib"
else
_lib=$(curl -fsSL "${LXS_RAW_PLATFORM_BASE}/lib/common.sh") || { echo "Failed to fetch lib/common.sh" >&2; exit 1; }
eval "$_lib"
unset _lib
fi
unset _lxs_lib _lxs_self
export LXS_LOG_FILE="/tmp/lxs_welcome_message.log"
require_root "$0" "$@"