A new installer: guix-install

Franz Geffke

By Franz Geffke
13 May 2026

The old PantherX installer was getting in the way more than it was helping — fragile, no way to resume when something went sideways mid-install, and the code had grown a few too many special cases. So I started over: meet guix-install.

It installs plain Guix, Nonguix, PantherX, or a managed config from a server — you pick which one when it asks. On the PantherX ISO it’s already there; just type guix-install and you’re off. On a plain Guix ISO, you can download it and run it directly.

curl -L -o guix-install \
  https://github.com/franzos/guix-install/releases/latest/download/guix-install-x86_64-linux-musl
chmod +x guix-install
./guix-install

It walks through Mode → Locale → Timezone → Hostname → Disk → Encryption → Users → Desktop → Summary. Escape goes back a step. There’s also a --dry-run flag that prints the generated system.scm and channels.scm without touching your disk — useful if you just want to see what the installer would write.

Why bother

A few things bugged me about the old installer, and a few things I wanted that didn’t exist:

  • Resume on failure. Install is split into 8 phases (partition, format, mount, swap, scheme, authorize keys, guix pull, guix system init). State persists between phases — if guix pull dies on flaky wifi, re-running picks up where it left off.
  • No passwords in system.scm. Passwords are SHA-512-crypted in-process and written atomically to /mnt/etc/shadow. The plaintext lives in a zeroizing buffer and is gone before the next phase. No chroot, no chpasswd.
  • Hardware preflight for libre Guix. If you pick the guix mode, it warns about Wi-Fi/GPU/Ethernet chips that need non-free firmware before you commit to an install you’ll have to redo.
  • One tool for the whole guix ecosystem, not just PantherX. Plain Guix and Nonguix users get the same resume-friendly, atomic-write installer.

Modes

Mode Channel Kernel
guix upstream Guix linux-libre
nonguix nonguix linux + microcode
panther (default) panther (codeberg) linux + microcode
enterprise tarball from a remote URL from config

The enterprise mode fetches a config tarball over HTTPS by ID and skips locale/timezone/hostname/users/desktop. Useful if you’re rolling out a fleet with a known config and don’t want operators to make choices.

If you have a spare disk or a VM, please try it and let me know what breaks: github.com/franzos/guix-install/issues.

What this means for PantherX users

The previous px-install is being retired. The config generator on the home page still works for hand-rolling a system.scm, but for an actual install, guix-install is the path forward. New PantherX ISOs ship with it pre-installed.

PantherX OS is a reliable, user-friendly operating system that builds on GNU Guix but incorporates non-free software and drivers including nonguix to make it easy to install and use on a wide range of hardware.

The Power of PantherX OS