NSpawn Subsystem for Linux
Install your development tools in a Debian, Fedora or other Linux machine and leave the host alone. nsl works much like WSL: each machine keeps its packages, services and files between sessions. The machines run as systemd-nspawn containers inside a shared VM, start when you need them, and can work in your host 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¶
-
A shell where you need it
Run
nslfrom your project directory to open a shell in the default machine, working in the same files. Usensl runfor a single command; its exit status comes back to the host. -
Your files and your account
Your
$HOME,/run/media/USERand/mntare available under/mnt/host. The machine uses your username, UID and GID, so files you create there still belong to you. You also get passwordlesssudoinside the machine. -
Ports and windows on the host
Run a development server in the machine and reach its forwarded port on host
127.0.0.1. Wayland applications can open windows on your desktop through Waypipe. -
Seven signed distros
Choose Debian, Ubuntu, Fedora, CentOS Stream, Arch, openSUSE Tumbleweed or Leap. The images are rebuilt weekly. nsl verifies that they came from the signed Frostyard publishing workflow before using them.
-
Isolation when you need it
Use
--isolatedfor software you don't trust. It gets its own VM, without access to your host files, desktop or host actions. -
Runs as your user
nsl runs as your user. You'll need the host prerequisites installed first; nsl doesn't install packages or change device permissions, groups or sudoers.
Start here¶
-
01 Get started
Check the host, install nsl and create your first machine.
-
02 Architecture
How the VM runs your machines and connects them to the host.
-
Look up commands, settings in
nsl.confand published images.
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.