Skip to content

Machine images

Frostyard publishes these machine images, rebuilt at least weekly. nsl images lists what the current catalogue offers.

Distro Selectors Family
Debian 13 debian:13, debian:trixie debian
Ubuntu 26.04 LTS ubuntu:26.04, ubuntu:resolute debian
Fedora 44 fedora:44 rpm
CentOS Stream 10 centos:10, centos-stream:10 rpm
Arch Linux arch:rolling, arch:btw arch
openSUSE Tumbleweed opensuse:tumbleweed, opensuse-tumbleweed:rolling suse
openSUSE Leap 16.0 opensuse:16.0, opensuse-leap:16.0 suse

All images are x86-64. Other distros and releases join after they pass the same acceptance tests.

What every image provides

  • Your account, added at creation: your username, UID and GID, a home at /home/USER, /bin/bash and passwordless sudo. Root has no usable password.
  • A real session for every nsl command: a PAM login with a logind session, XDG_RUNTIME_DIR, a user systemd manager and a user D-Bus session.
  • Networking from the VM. The machine's own networkd and resolved are masked; it uses the VM's network and resolver.
  • Nested containers. A full procfs for nesting and a Podman drop-in, so rootless Podman works.
  • Desktop support. Time-zone data, a font, a cursor theme and the Wayland client libraries.
  • The C.UTF-8 locale. Install other locales with the distro's packages.
  • nsl-open and nsl-path, with nsl-open as the handler for web links.
  • An OpenSSH server, with no service enabled, for ssh-config.
  • A unique identity per machine. Each machine gets its own machine ID on first boot. Images ship no SSH host keys and no package-keyring private keys.

Distro notes

  • CentOS Stream 10 enables EPEL, and adds GLES libraries so GTK 4 applications render.
  • Arch Linux initializes and populates its pacman keyring on the machine's first boot.
  • openSUSE images add glibc-locale-base for C.UTF-8.

The full machine-image contract ↗ is in the repository.