System configuration

Table of Content

PantherX comes with a really easy, command-line based installer that asks virtually no questions. Simply boot the ISO, make sure you’re connected to the internet and run px-install.

Also checkout our new System Configuration Generator.

Minimal

Example

Desktop: Boot in BIOS mode

;; PantherX OS Configuration

(use-modules (gnu)
             (gnu system)
             (px system panther))

(operating-system
 (inherit %panther-os)
 (host-name "px-base")
 (timezone "Europe/Berlin")
 (locale "en_US.utf8")
 
 (bootloader
  (bootloader-configuration
   (bootloader grub-bootloader)
   (targets '("/dev/sda"))))
 
 (file-systems
  (cons
   (file-system
    (device (file-system-label "my-root"))
    (mount-point "/")
    (type "ext4"))
   %base-file-systems))
 
 (users
  (cons
   (user-account
    (name "panther")
    (comment "panther's account")
    (group "users")
    ;; Set the default password to 'pantherx'
    ;; Important: Change with 'passwd panther' after first login
    (password (crypt "pantherx" "$6$abc"))
    (supplementary-groups '("wheel" "audio" "video"))
    (home-directory "/home/panther"))
   %base-user-accounts))

  (packages %panther-base-packages)
  (services %panther-base-services))

Desktop

This provides the default desktop environment.

  • Standard Linux kernel
  • Bluetooth enabled by default

You can configure any of the available guix desktops:

  • xfce-desktop-service-type
  • mate-desktop-service-type
  • gnome-desktop-service-type
  • lxqt-desktop-service-type

If you have a modern PC, you will probably want to use UEFI: Skip ahead to “Desktop: Boot in UEFI mode”

Example

Desktop: Boot in BIOS mode

;; PantherX OS Configuration

(use-modules (gnu)
             (gnu system)
             (px system panther)
             (gnu packages desktop))

(operating-system
 (inherit %panther-os)
 (host-name "px-base")
 (timezone "Europe/Berlin")
 (locale "en_US.utf8")
 
 (bootloader
  (bootloader-configuration
   (bootloader grub-bootloader)
   (targets '("/dev/sda"))))
 
 (file-systems
  (cons
   (file-system
    (device (file-system-label "my-root"))
    (mount-point "/")
    (type "ext4"))
   %base-file-systems))
 
 (users
  (cons
   (user-account
    (name "panther")
    (comment "panther's account")
    (group "users")
    ;; Set the default password to 'pantherx'
    ;; Important: Change with 'passwd panther' after first login
    (password (crypt "pantherx" "$6$abc"))
    (supplementary-groups '("wheel" "audio" "video"))
    (home-directory "/home/panther"))
   %base-user-accounts))

 ;; Globally-installed packages.
 (packages %panther-base-packages)

 ;; Globally-activated services.
 (services
  (cons*
   (service xfce-desktop-service-type)
   %panther-desktop-services)))

Desktop: Boot in UEFI mode

;; PantherX OS Configuration

(use-modules (gnu)
             (gnu system)
             (px system panther)
             (gnu packages desktop))

(operating-system
 (inherit %panther-os)
 (host-name "px-base")
 (timezone "Europe/Berlin")
 (locale "en_US.utf8")
 
 (bootloader
  (bootloader-configuration
   (bootloader grub-efi-bootloader)
   (targets '("/boot/efi"))))

 (file-systems
  (append
   (list 
    (file-system
     (device (file-system-label "my-root"))
     (mount-point "/")
     (type "ext4"))
    (file-system
     (device "/dev/sda1")
     (mount-point "/boot/efi")
     (type "vfat")))
    %base-file-systems))
 
 (users
  (cons
   (user-account
    (name "panther")
    (comment "panther's account")
    (group "users")
    ;; Set the default password to 'pantherx'
    ;; Important: Change with 'passwd panther' after first login
    (password (crypt "pantherx" "$6$abc"))
    (supplementary-groups '("wheel" "audio" "video"))
    (home-directory "/home/panther"))
   %base-user-accounts))

 ;; Globally-installed packages.
 (packages %panther-base-packages)

 ;; Globally-activated services.
 (services
  (cons*
   (service xfce-desktop-service-type)
   %panther-desktop-services)))

For Firewall and SSH configuration, check the previous section. It’s identical for every system.

See also

PantherX & (unofficial) GNU Guix Wiki.

Last update: 2025-03-06 16:55:24 +0000 | Apache-2.0

Inspired by the excellent Arch Linux Wiki