General recommendations

System administration

Users and groups

Users and their associated groups are defined in the system configuration (/etc/system.scm).

For a single user, it may look like this:

(users (cons (user-account
              (name "franz")
              (comment "default")
              (group "users")
              (supplementary-groups '("wheel" "netdev" "docker" "kvm"
                                      "audio" "video" "lpadmin" "lp"))
              (home-directory "/home/franz"))

Note that I have quite a few supplementary groups:

  • wheel to enable sudo use
  • netdev for wifi management
  • kvm mostly for hardware acceleration under qemu
  • audio for audio playback
  • video for webcam access
  • lpadmin and lp to add, remove printers via cups (usually a web interface)

Privilege escalation

Service management

PantherX uses shepherd as the init process, which is a system and service manager for Linux. For maintaining your Arch Linux installation, it is a good idea to learn the basics about it. Interaction with shepherd is done through the herd command.


herd status

Stop a service:

herd stop syncthing

Start a service:

herd start syncthing

Note: Access root services via su - root.

System maintenance

To update all user packages:

px update apply

To update the operating system and all system and global packages:

su - root
px update apply

Package management


guix is the PantherX package manager

Search a package:

guix package -s nheko

Install a package:

guix package -i nheko

Remove a package:

guix package -r nheko

Each user has their own packages:

  • Packages installed under root are only accessible to the root user
  • Packages a user installs in their own account, are only accessible to that user
  • Only packages listed in the system configuration are accessible to all users automatically

We recommend that you use Software to install and update applications on Desktop.


On PantherX, repositories are called “Channels”. Here’s what the default channels (/etc/guix/channels.scm) look like:

;; PantherX Default Channels

(list (channel
        (name 'guix)
        (url "")
        (branch "rolling-nonlibre"))
        (name 'nongnu)
        (url "")
        (branch "rolling"))
        (name 'pantherx)
        (url "")
        (branch "rolling")))


PantherX will try to download binary files (“Substitutes”) from our own as well as guix build server’s.

  • (depreciated)
  • (and mirrors)

If any server or binary is not available, the system will fall-back and build the file from source, on your computer.

Power management

ACPI events

CPU frequency scaling


Suspend and Hibernate



Configure input’s and outputs using the Volume Control application.


  • Click on the volume button in the task-bar and select “Mixer”
  • Or open the Menu > Sound & Video > PulseAudio Volume Control

Browser plugins



Clock synchronization

The time is updated automatically using ntpd. You can verify that it’s running:

su - root
herd status ntpd

DNS security

Setting up a firewall

A default firewall is setup and and running, rejecting all incoming connections. You can verify it’s running:

su - root
herd status nftables

Note: On PantherX Server, port 22 is open by default (not on Desktop).

Resource sharing

Input devices

Most input devices can be configured via Settings. Look for “Keyboard and Mouse”.



Improving performance

Disk space

If you are running out of disk space, it might help clear old store items:

guix gc

Also checkout: Disk usage: Find out where your space goes


Display Scaling

On high resolution screens, it’s easy to scale the entire desktop. What works well: 1.25x, 1.5x, 2x.

Find out more: Scaling on high-resolution screens

System service

List all system services using:

su - root
herd status

Search on PantherX Desktop is powered by Recoll: A lightning-fast indexing and search application that looks trough PDF’s, word documents, power points, spreadsheets, emails, calendar events, pictures and more.

Open the Menu and look for “Advanced Search”


Until we have a proper GUI application, you can add and remove printers, and manage jobs at http://localhost:631/admin.

  1. Open the page in your browser
  2. Look for “Add printer”
  3. Follow the steps

The printer should be available in most applications that support printing.

PantherX & (unofficial) GNU Guix Wiki.

Last update: 2023-02-03 19:33:34 +0000 | Apache-2.0

Inspired by the excellent Arch Linux Wiki