Linux development on an atomic host¶

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

Linux development on an atomic host¶

NSpawn Subsystem for Linux

Linux development on an atomic host

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.

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

  • A shell where you need it
  • --- Run `nsl` from your project directory to open a shell in the default machine, working in the same files. Use `nsl run` for a single command; its exit status comes back to the host.

  • Your files and your account
  • --- Your `$HOME`, `/run/media/USER` and `/mnt` are available under `/mnt/host`. The machine uses your username, UID and GID, so files you create there still belong to you. You also get passwordless `sudo` inside 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 `--isolated` for 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.
  • 03 Command reference
Look up commands, settings in `nsl.conf` and 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.

Back to top

frostyard.github.io · 1 images · 22 links

Comments (0)

No comments yet