Skip to content

Igloo

Igloo is a GNOME terminal that opens nsl machines the way it opens Podman, Toolbox, and Distrobox containers. Pick a machine from the New Tab menu, or create and manage machines in Preferences. It installs as io.github.frostyard.Igloo, beside Ptyxis, with its own settings.

You need nsl 0.8.0 or later on the host. The Flatpak does not bundle nsl. With an older nsl, machines still open from the New Tab menu, but the Machines page asks you to update.

Igloo uses the GNOME 51 runtime from Flathub. Snow, Snowfield, and Sundog configure Flathub for the whole system. A user install needs Flathub for your user too: the steps below add it.

Add the Frostyard Flatpak remote once, for your user:

Terminal window
flatpak remote-add --user --if-not-exists frostyard https://frostyard.github.io/flatpak-index/frostyard.flatpakrepo

Apps use runtimes from Flathub, such as the GNOME runtime. A --user install gets a missing runtime only from a user remote, so add Flathub for your user too:

Terminal window
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Then install Igloo:

Terminal window
flatpak install --user frostyard io.github.frostyard.Igloo

Flatpak also installs the GNOME 51 runtime from Flathub if you do not have it. Start Igloo from your applications, or run:

Terminal window
flatpak run io.github.frostyard.Igloo

The terminal opens. To build Igloo yourself, see the README.

Open a machine tab from the New Tab menu:

  1. Click the dropdown next to the new tab button.
  2. Pick a machine in the Machines section.

The tab opens in that machine. The menu ends with Manage Machines….

Open the Machines page with Main menu → Machines. It lists every machine with its distribution, tier, state, and default marker. It also lets you:

  • Create a machine with New Machine. Igloo asks for a name, a distribution from the signed nsl catalogue, isolation, default, and an optional username. It then runs nsl create in a terminal, so you see the downloads and the check, and offers to open the new machine.
  • Open, start, stop, or remove a machine, and make it the default.
  • Create a profile for a machine with Edit Profile…, for its own palette, font, and command.
  • Change Resources: shared VM memory and processors, autostart, idle timeout, and isolated VM resources. Igloo writes them to nsl.conf.
  • Run Host commands: nsl doctor, nsl update, and nsl shutdown.

A profile’s Default Container can be an nsl machine. Pinned or restored tabs reopen in their machine, and new tabs keep the current machine as they keep the current container.

A new tab opened from a machine tab starts in the same directory. This needs a machine created from an nsl image built since 2026-10-05; older machines start new tabs in the guest home.

Export and import are not in the interface yet. Use nsl export and nsl import.

Update Igloo with the Flatpak command:

Terminal window
flatpak update

Remove Igloo:

Terminal window
flatpak uninstall io.github.frostyard.Igloo

This keeps your Igloo settings in ~/.var/app/io.github.frostyard.Igloo/. Add --delete-data to remove them too. nsl, your machines, and nsl.conf stay.

Igloo has no roll back. The Frostyard remote serves only the newest tagged release.

Symptom Check Fix
The Machines page asks you to update nsl nsl version Install nsl 0.8.0 or later. Igloo reads machine state through --json, which 0.8.0 introduced.
The Machines page cannot find nsl The lookup paths below Install nsl, or put it in one of the lookup paths, then press Check Again.

Igloo looks for nsl on PATH, then in ~/.local/bin, /home/linuxbrew/.linuxbrew/bin, ~/.linuxbrew/bin, /usr/local/bin, and /usr/bin. A session started through flatpak-spawn often has a minimal PATH, so the extra paths matter. If nsl is not installed, the page links to its installation guide.

Reviewed 2026-10-27.