Installation guide

You will occasionally see a $ before a command. This is mostly to differentiate the input (what you type), from the output, the computer provides.

Here’s an example:

$ lsblk
sda             8:0    0 465.8G  0 disk
└─sda1          8:1    0 465.8G  0 part  /media/franz/4e619844-b92a-49bd-8b70-cf934abdc8eb

So the actual command is lsblk (you don’t write $).

On the other hand, if there’s only a command, and no output, we sometimes omit the $ like so:



Before you get started, ready a USB stick with the latest ISO image.

  1. Download pantherx-1.3.0-21.e5abfc0-2-image.iso.tar.gz (Beta 5)
  2. Extract the ISO

On Linux you can use tar:

tar -xf pantherx-1.3.0-21.e5abfc0-2-image.iso.tar.gz

Flash with dd

Plugin the USB stick and determine the name:

$ lsblk
sda             8:0    1  14.9G  0 disk
├─sda1          8:1    1     1G  0 part  /media/franz/GUIX_IMAGE
└─sda2          8:2    1   2.8M  0 part
nvme0n1       259:0    0 953.9G  0 disk
├─nvme0n1p1   259:1    0   549M  0 part  /boot/efi
└─nvme0n1p2   259:2    0 953.3G  0 part
  └─cryptroot 253:0    0 953.3G  0 crypt /

In my case, it’s /dev/sda, so I proceed with copying the ISO to this drive:

$ sudo dd if=pantherx-1.3.0-21.e5abfc0-2-image.iso of=/dev/sda status=progress
1110499840 bytes (1.1 GB, 1.0 GiB) copied, 284 s, 3.9 MB/s
2169320+0 records in
2169320+0 records out
1110691840 bytes (1.1 GB, 1.0 GiB) copied, 284.985 s, 3.9 MB/s
$ sync

Now un-mount / eject the drive:

sudo umount /dev/sda1

Flash with etcher

If you prefer a GUI tool that runs on your existing OS (Windows, MacOS, other Linux), have a look at etcher.

First steps

Now just plugin the USB stick into the target computer, and boot from it. Most commonly, you can get a boot device selection with F11.

Once you have booted from USB, you will be greeted with “Locale language” selection.

(1) Select your locale

(2) Select your location

Select “Install using the shell based process”.

If you’re connected via LAN cable, you probably already have internet. Skip ahead to installation.

Connect to the Internet

Now that you’re in the command like, it should read “Welcome to the Installation of PantherX OS!”. Before you continue, you need to establish a internet connection. If you are connected with a LAN cable, that might already have happened.

Here’s how you verify whether you’re connected:

$ ifconfig -a
eno1      Link encap:Ethernet  HWaddr A8:A1:59:5E:FB:D9
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0  TX bytes:0
          Interrupt:16 Memory:a1200000-a1220000

enp2s0    Link encap:Ethernet  HWaddr A8:A1:59:5E:FC:A0
          inet addr:  Bcast:  Mask:  # <------- valid IP
          RX packets:71 errors:0 dropped:0 overruns:0 frame:0
          TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12868  TX bytes:19744

lo        Link encap:Local Loopback
          inet addr:  Bcast:  Mask:
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:19 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3485  TX bytes:3485

One of the listed interfaces, should have a valid IP address. For example If that’s the case, you can proceed to the next step. If not, here’s how you connect:

Wired Network (LAN)

To configure a wired network run the following command, substituting interface with the name of the wired interface you want to use:

$ ifconfig INTERFACE_NAME up

# Example
$ ifconfig enp2s0 up

Now try to get a IP address:

$ dhclient -v INTERFACE_NAME

# Example
$ dhclient -v enp2s0

Wireless Network (WLAN)

To configure wireless networking, create a configuration file for the wpa_supplicant configuration tool:

$ nano wpa_supplicant.conf

with the following content:


once you’re done, this should look roughly like this:


To start the wireless service, and run it on interface in the background:

$ wpa_supplicant -c wpa_supplicant.conf -i INTERFACE_NAME -B

# Example
$ wpa_supplicant -c wpa_supplicant.conf -i enp2s0 -B

Now try to get a IP address:

$ dhclient -v INTERFACE_NAME

# Example
$ dhclient -v enp2s0


If you want to continue with the installation remotely, load the SSH server and set a root password:

$ herd start ssh-daemon
Service ssh-daemon has been started.
$ passwd
New Password:
Retype new password:
passwd: password updated successfully

Now simply connect via SSH from another computer: ssh root@


Pro-Tip: Download and run the latest installer

We have come-up with a simple installer that automates all steps. You can go ahead with the defaults with:


or customize username, password and so on with:

px-install run

Once the installation has completed, it should read something like this:

guix system: bootloader successfully installed on /dev/sda

Now simply reboot with

  • You can find out more about px-install at
  • Tip: SSH is disabled by default on Desktop so you won’t be able to reconnect after reboot without enabling it first


Once you login for the first time, there’s a couple of things to be aware of.


We’ve put together a welcome screen that guides you trough the essentials:

(1.1) Set new user and root password

You will be prompted for your desired user and root (administrator) password.

Once you confirm, you will be prompted for the password you set during the installation, to confirm the change. This should be the same password you used to login.

(1.2) Update your system (opens Software; then just click “Update”)

You will be prompted for your new user password to confirm.

This will take a while; In the meantime you can confirm your (2) Syncthing and (3) Albert configuration.

Once the update is completed, the buttons (Updating…, Cancel), will return to “UPDATE ALL”. As this happens, you can close Software.

(1.3) Changing the theme (dark/bright)

You have the option to stick with the default, dark theme or switch to a bright theme.

(1.4) Reboot

After you confirm the update (1.2) has completed, you can reboot your system.


Free, unlimited, 100% private Dropbox alternative.

You will be promted to setup Syncthing, a powerful, decentralized file sharing utility that will replace your Dropbox account by tomorrow.

  1. Open the Settings
  2. Go to “Tray” (left sidebar) and look for the tab “Connection”
  3. Click “Insert values from local Syncthing configuration”
  4. Select “Connect automatically on startup”
  5. Confirm with “Apply”

Whenever you want to activate Syncthing, just click on the traybar icon (grayed out circle) and click “Continue”.


Very useful quick-launcher to open applications and control your system.

You will be promted to setup Albert; it’s an incredibly useful utility that not only helps you launch apps, but does calculations, plays music - really whatever you want.

PantherX Hub

You should do this after update and reboot

If you want to use Hub, you need to setup a account first.

  1. Open ‘Settings’ > ‘Online Accounts’
  2. Add a account

Hub currently supports GitLab, GitHub, Email (via ClawsMail), Discourse and Mastodon notifications. This list will expand in the coming months.

Get Help

This is a beta release, so please keep a few things in mind:

  • We do not accept bug reports at this time
  • We have limited or no time to provide support
  • We try to release updates on a 2-week basis

With that being said, we are working exclusively on PantherX OS and I myself do virtually everything on the system without any major issues. In fact, after years on MacOS and the months on various other Linux distributions, I have found PantherX to be much more reliable. If you do ever run into any issues after an update, simply reboot and roll-back your system - in literally 1 second.

Have a great time on PantherX OS


We encourage you to look around the Wiki and go to to seek help from the community.

PantherX & (unofficial) GNU Guix Wiki.

Last update: 2022-01-13 10:36:34 +0000

Inspired by the excellent Arch Linux Wiki