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)
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/63in your shell, which the rootbashspawned bysudocannot read (bash: /dev/fd/63: No such file or directory). Pipe throughsudo bash -s --instead.
Or run once without installing (no sudo needed for the entrypoint —
sub-scripts auto-elevate when they need root):
curl -fsSL https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.sh | bash
Windows (10 1809+ / 11 / Server 2019+)
In 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:
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 <app> # Install an application
lxs tool <name> [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 <app>
| 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>
| 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 <app>
| 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>
| 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 viasudo. - Windows: Windows 10 1809+, Windows 11 or Server 2019+.
winget(App Installer) is needed for the application installers only.
License
MIT