Show HN: NSL – WSL for Linux

Hacker News Top Tools

Summary

NSL is a tool that provides WSL-style persistent Linux machines on Linux hosts using systemd-nspawn containers in a VM, enabling work in different distros with file and port access.

One of the things that Windows really got right is WSL2. I drive an atomic Linux distro for daily use, but wanted a way to develop with multiple different distros with that same WSL UX. NSL is my answer. It is a faithful reproduction of the developer experience, powered by a single VM that hosts one or more systemd-nspawn containers with your development instances. Host file edits and port sharing come along for the ride, just like WSL. Take a look and tell me what you think... It's yet another step in my long journey to keep my host installation free from all the changing and breaking dev dependencies that force a reinstall every few months.
Original Article
View Cached Full Text

Cached at: 09/29/26, 04:56 PM

# WSL-style Linux machines for Linux Source: [https://frostyard.github.io/nsl/](https://frostyard.github.io/nsl/) [https://github.com/frostyard/nsl/edit/main/site/content/index.md](https://github.com/frostyard/nsl/edit/main/site/content/index.md)NSpawn Subsystem for Linux ## Keep the host atomic\.*Work in any distro\.*[¶](https://frostyard.github.io/nsl/#keep-the-host-atomic-work-in-any-distro) nsl gives a Linux host persistent Linux machines, as WSL does for Windows\. Each machine is a whole distro with its own packages and services\. It runs as a systemd\-nspawn container in one small VM, starts when you use it, and works in your files\. [Install nsl →](https://frostyard.github.io/nsl/getting-started/install/)[How it works](https://frostyard.github.io/nsl/concepts/how-it-works/) ![NSL](https://frostyard.github.io/nsl/assets/nsl.svg) ``` nsl create debian --distro debian:13 # verify the signed images; the first machine is the default nsl # a login shell in the machine, in this directory nsl run make test # one command, with its exit status ``` ## What a machine gives you[¶](https://frostyard.github.io/nsl/#what-a-machine-gives-you) - **Any distro, one command away** --- `nsl`opens a login shell in your default machine, in the directory you were in\.`nsl run`runs one command and returns its exit status\. - **Your files and your account** --- Your`$HOME`,`/run/media/USER`and`/mnt`appear at`/mnt/host`\. Inside, you keep your username, UID and GID, and passwordless`sudo`\. - **Ports and windows on the host** --- A server listening in a machine is reachable at the same port on host`127\.0\.0\.1`\. Wayland applications open windows on your desktop\. - **Seven signed distros** --- Debian, Ubuntu, Fedora, CentOS Stream, Arch, openSUSE Tumbleweed and Leap\. Rebuilt weekly, and verified against the signed Frostyard publishing workflow before use\. - **Isolation when you need it** --- `\-\-isolated`gives a machine a VM of its own, with no access to host files, desktop or host actions, for software you do not trust\. - **A clean host** --- nsl runs as your user\. It installs no host packages and changes no device permissions, groups or sudoers\. ## Start here[¶](https://frostyard.github.io/nsl/#start-here) - 01**[Get started](https://frostyard.github.io/nsl/getting-started/install/)** Check the host, install nsl and create your first machine\. - 02**[Architecture](https://frostyard.github.io/nsl/concepts/how-it-works/)** One VM, many machines, and what a machine may touch on the host\. - 03**[Look it up, baby](https://frostyard.github.io/nsl/reference/cli/)** Every command, every setting in`nsl\.conf`, and every published image\. Pre\-release nsl has no stable release yet\. v0\.4\.0 is the first release of this design; v0\.3\.0 and earlier are a retired prototype\. The tested host is Snow Linux 13 on x86\-64 with systemd 261\.2, QEMU 10\.0\.13, virtiofsd 1\.13\.2 and GNOME Wayland\.

Similar Articles

Show HN: A free Linux adaptation of NETworkManager by BornToBeRoot

Hacker News Top

NMLinux is a free, open-source Linux adaptation of NETworkManager, providing a unified GUI for common network tools. Built with Python and PySide6, it includes modules for SSH, RDP, VNC, Wi-Fi, traceroute, speed test, and more, aimed at sysadmins and power users.

wsl9x: Windows 9x subsystem for Linux

Lobsters Hottest

wsl9x is a new open-source tool that embeds a modern Linux 6.19 kernel as a cooperative subsystem inside Windows 9x, letting legacy and current software run side-by-side without reboots.