NSpawn Subsystem for Linux
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.
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¶
-
Any distro, one command away
nslopens a login shell in your default machine, in the directory you were in.nsl runruns one command and returns its exit status. -
Your files and your account
Your
$HOME,/run/media/USERand/mntappear at/mnt/host. Inside, you keep your username, UID and GID, and passwordlesssudo. -
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
--isolatedgives 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¶
-
01 Get started
Check the host, install nsl and create your first machine.
-
02 Architecture
One VM, many machines, and what a machine may touch on the host.
-
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.