Show HN: NSL – WSL for Linux
NSL: Bringing WSL-style Virtualization to Linux
Philosophy: Keep the host atomic.
NSL (NSpawn Subsystem for Linux) provides Linux users with the same experience Windows users get with WSL: the ability to run persistent, independent Linux machines directly on a Linux host.
Each instance is a complete distribution, maintaining its own unique services and package sets. These operate as systemd-nspawn containers housed within a lightweight VM, launching automatically upon use and integrating seamlessly with your local filesystem.
🛠️ Getting Started & Usage
To begin, install nsl and initialize your first environment:
# Create a new Debian 13 machine
nsl create debian --distro debian:13
# Enter the default machine's login shell in the current directory
nsl
# Execute a specific command and return its exit status
nsl run make test
The Machine Experience
When you launch a machine, you get a fully functional distro in a single command. Your environment is configured for convenience:
- Identity: Your username, GID, and UID are preserved.
- Privileges: You are granted passwordless sudo access.
- File Access: Your host's
$HOME,/mnt, and/run/media/USERare mapped to/mnt/hostinside the container. - Networking: Any server running inside a machine is accessible on the host via
127.0.0.1at the same port.
🏗️ Architecture & Security
NSL balances convenience with strict isolation. The general flow is as follows:
Trust and Isolation
For software that is untrusted, you can use the --isolated flag. This creates a dedicated VM that lacks access to:
- Host files
- The desktop environment
- Host-level actions
Note: NSL is non-intrusive; it does not modify your host's sudoers, device permissions, or groups, nor does it install any packages on the host system.
📦 Supported Distributions
NSL provides seven signed distributions, rebuilt weekly and verified via the Frostyard publishing pipeline:
| Distribution | Availability |
|---|---|
| Debian | Signed & Verified |
| Ubuntu | Signed & Verified |
| Fedora | Signed & Verified |
| CentOS Stream | Signed & Verified |
| Arch | Signed & Verified |
| openSUSE Tumbleweed | Signed & Verified |
| openSUSE Leap | Signed & Verified |
📖 Navigation Guide
- 01 Get Started: Verify host compatibility, install the tool, and deploy your first machine.
- 02 Architecture: Deep dive into the VM structure and host interaction boundaries.
- 03 Reference: Explore every available command,
nsl.confsettings, and image list.
⚙️ Technical Specifications
The current stable version is defined as .
v0.3.0 and earlier versions are now considered retired prototypes.
The software was validated on the following environment:
| Component | Version/Detail |
|---|---|
| OS | Snow Linux 13 (x86-64) |
| Systemd | 261.2 |
| QEMU | 10.0.13 |
| virtiofsd | 1.13.2 |
| Desktop | GNOME Wayland |