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/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):

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 via sudo.
  • Windows: Windows 10 1809+, Windows 11 or Server 2019+. winget (App Installer) is needed for the application installers only.

License

MIT

S
Description
No description provided
Readme MIT
462 KiB
Languages
Shell 50.9%
PowerShell 49.1%