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.

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.