Keep the host atomic. Work in any distro.¶

frostyard.github.io · 2026-09-29 · by Long Nguyen ·generic
WSL-style Linux machines for Linux hosts.

Keep the host atomic. Work in any distro.¶

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.

Install nsl → How it works

NSL

`[](https://frostyard.github.io/nsl/#%5F%5Fcodelineno-0-1)nsl create debian --distro debian:13 # verify the signed images; the first machine is the default [](https://frostyard.github.io/nsl/#%5F%5Fcodelineno-0-2)nsl # a login shell in the machine, in this directory [](https://frostyard.github.io/nsl/#%5F%5Fcodelineno-0-3)nsl run make test # one command, with its exit status `

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

  • 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.
  • 03 Look it up, baby
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.

Back to top

frostyard.github.io · 1 images · 22 links

Comments (0)

No comments yet