Container Windows Only

scorpiox-wsl

Windows x64

WSL2 stateless execution — run Linux environments on Windows with zero persistent state. Bind-mount host directories, manage WSL instances, and execute commands in isolated WSL2 sessions.

Flags & Options

Flag Short Description Takes Value
--bind Mount host dir as /workspace inside WSL Yes
--clean Remove all WSL instances and cached data No
--help Show help message and exit No
--home -h Set scorpiox directory (env: SCORPIOX_HOME) Yes
--list -l List running WSL instances Yes
--net Host networking (WSL2 default, compatibility flag) Yes
--persist -p Mount host dir as /persist inside WSL Yes
--stop-all Stop all running WSL instances No
--update Update the WSL2 kernel and distribution No
--verbose -v Enable debug output No
--version Print version information No
-e Execute a command inside the WSL session Yes

Usage Examples

Basic — Launch a WSL session
# Start a stateless WSL2 Linux session
PS> scorpiox-wsl
Execute a single command
# Run a command directly inside WSL without interactive shell
PS> scorpiox-wsl -e "uname -a"
Linux DESKTOP-SX 5.15.167.4-microsoft-standard-WSL2 x86_64 GNU/Linux
Bind-mount a project directory
# Mount C:\Projects\myapp as /workspace inside WSL
PS> scorpiox-wsl --bind C:\Projects\myapp
# Inside WSL, files are at /workspace
$ ls /workspace
Makefile src/ include/ README.md
Persistent storage across sessions
# Mount a host dir as /persist — data survives session restarts
PS> scorpiox-wsl --persist C:\WSLData --bind C:\Projects\api
# /persist keeps state, /workspace is your project
$ echo "cached" > /persist/build.cache
Build and test a C project
# Full workflow: bind project, compile, and run tests
PS> scorpiox-wsl --bind C:\Projects\mylib -e "cd /workspace && make clean && make && make test"
CC src/main.c
CC src/util.c
LINK mylib
TEST 12/12 passed
Manage WSL instances
# List running WSL instances
PS> scorpiox-wsl --list all
INSTANCE STATE UPTIME
scorpiox-wsl-01 Running 2h 14m
scorpiox-wsl-02 Running 0h 03m


# Stop all running instances
PS> scorpiox-wsl --stop-all
Stopped 2 WSL instances.

# Clean up all instances and cached data
PS> scorpiox-wsl --clean
Custom scorpiox home + verbose
# Use a custom scorpiox directory with debug output
PS> scorpiox-wsl --home D:\scorpiox-dev --verbose
[debug] SCORPIOX_HOME=D:\scorpiox-dev
[debug] WSL distro: scorpiox-wsl-default
[debug] Mounting /workspace: (none)
[debug] Session started: PID 4821

Source & Build Info

Source File
scorpiox/scorpiox-wsl.c
Lines of Code
1,371
Dependencies
libsxutil

Related Tools