# LXS Multi-machine toolbox — one menu, two platforms. A Bash entrypoint for Debian/Ubuntu servers and a PowerShell entrypoint for Windows workstations, sharing the same interface, the same install flow and the same update mechanism. ``` lxs.sh → linux/ server apps, hardening, benchmarks, MOTD lxs.ps1 → windows/ diagnostics, cleanup, hardening, debloat, winget apps VERSION shared by both ``` ## Install ### Linux (Debian / Ubuntu) ```bash curl -fsSL https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.sh | sudo bash -s -- setup ``` Installs every file to `/usr/local/share/lxs/` and creates the symlink `/usr/local/bin/lxs`. After install, sub-scripts run from disk — no network calls per command. > Avoid `sudo bash <(curl …)` — process substitution opens `/dev/fd/63` in your > shell, which the root `bash` spawned by `sudo` cannot read > (`bash: /dev/fd/63: No such file or directory`). Pipe through > `sudo bash -s --` instead. Or run once without installing (no `sudo` needed for the entrypoint — sub-scripts auto-elevate when they need root): ```bash curl -fsSL https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.sh | bash ``` ### Windows (10 1809+ / 11 / Server 2019+) In PowerShell: ```powershell & ([scriptblock]::Create((irm https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.ps1))) setup ``` Installs to `%LOCALAPPDATA%\lxs`, adds `%LOCALAPPDATA%\lxs\bin` to your **user** PATH and drops an `lxs.cmd` shim there — so the install itself never needs administrator rights. Open a new terminal afterwards and run `lxs`. Tools that change the machine request elevation on their own, in a separate window. Or open the menu once without installing: ```powershell irm https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.ps1 | iex ``` Windows PowerShell 5.1 (preinstalled on every supported Windows) is enough; PowerShell 7 works too. ## Usage The same verbs on both platforms: ``` lxs # Interactive menu (checks for updates, cached 24h) lxs setup # First-time install lxs update # Update all installed files to latest lxs install # Install an application lxs tool [args] # Run a system tool lxs info # Show system info lxs version # Show version lxs help # Show help ``` When a new version is published in this repo, the interactive menu shows an `UPDATE_AVAILABLE` banner; run `lxs update` to pull all updated files. ## What is in the box ### Linux — `lxs install ` | Name | What it installs | |---|---| | `coolify` | Coolify self-hosted PaaS | | `pterodactyl` | Pterodactyl game server panel | | `uptime-kuma` | Uptime Kuma monitoring | | `cloudpanel` | CloudPanel server control panel | | `proxmox` | Proxmox VE post-install tools | ### Linux — `lxs tool ` | Name | What it does | |---|---| | `system` | System information and diagnostics | | `benchmark` | CPU, disk and network benchmark | | `harden` | UFW, fail2ban, unattended-upgrades | | `root-password` | Change the root password | | `update` | apt update / upgrade / autoremove | | `root-ssh-login` | Toggle root SSH password login | | `welcome`, `motd` | Custom MOTD banner | ### Windows — `lxs install ` | Name | What it installs (via winget) | |---|---| | `dev` | Git, VS Code, Node.js, Python, PowerShell 7, Windows Terminal, WSL 2 | | `utilities` | 7-Zip, Notepad++, PowerToys, Sysinternals, Everything, ShareX | | `browsers` | LibreWolf, Firefox, Brave, Chrome, VLC, OBS Studio | | `containers` | WSL 2, Hyper-V, Docker Desktop, VirtualBox | | `claude-code` | Claude Code CLI (+ Git for Windows) | ### Windows — `lxs tool ` | Name | What it does | |---|---| | `system` | Hardware, OS, disks, memory, event logs, SMART, activation | | `network` | IP config, listening ports, DNS flush, ping/traceroute, stack reset | | `cleanup` | Temp files, Windows Update cache, recycle bin, Prefetch, WinSxS | | `repair` | SFC, DISM RestoreHealth, chkdsk | | `restore-point` | Enable System Protection, create/list/roll back checkpoints | | `update` | Windows Update (built-in COM API) + `winget upgrade --all` | | `harden` | Firewall, SMBv1 off, UAC, Defender, LLMNR/NetBIOS, account audit | | `remote-access` | Remote Desktop (with NLA) and the OpenSSH server | | `debloat` | Remove preinstalled apps you pick, disable telemetry/ads/Copilot | The Windows tools that change the system create a **restore point first**, show exactly what they will change and ask before doing it. `debloat` never removes an app you have not selected by number, and its registry, service and scheduled-task changes can be reverted from its own menu. ## Requirements - **Linux**: Debian or Ubuntu (other distros may work but are not tested), `curl`. Some sub-scripts require root and auto-elevate via `sudo`. - **Windows**: Windows 10 1809+, Windows 11 or Server 2019+. `winget` (App Installer) is needed for the application installers only. ## License MIT