Installing guix on postmarket OS

Table of Contents

Context

I recently installed postmarket OS on a fairphone 5 (pmOS wiki entry for fp5).

One minor insatisfaction I got was that the emacs version in the package manager was 30.0 while some of the elisp code I use is dependend on 31.90.

Having a build definition available on my guix channel (k8x1d-guix), I've figure out it would be less difficult to simply install guix on pmOS that build manually emacs.

Hence this guide (while it would word on most GNU/linux distribution) report the steps I used to set-up guix on pmOS (for futur me or anyone that might wonder how to do so)

Steps

  1. Add dependencies

    sudo apk add shadow-uidmap
    
  2. Install guix

    cd /tmp
    wget https://guix.gnu.org/guix-install.sh
    chmod +x guix-install.sh
    sudo ./guix-install.sh
    
  3. Set-up guix daemon (without privileges)

    sudo groupadd --system guix-daemon
    sudo useradd -g guix-daemon -G guix-daemon -d /var/empty -s $(which nologin) -c "Guix daemon privilege separation user" --system guix-daemon
    sudo cp /var/guix/profiles/per-user/root/current-guix/lib/systemd/system/*.service /etc/systemd/system
    sudo systemctl daemon-reload
    sudo systemctl enable --now guix-daemon
    
  4. Update channels (you might need to close your terminal and open a new one)

    guix pull
    # /usr/local/bin/guix pull
    
  5. Test that everything work

    guix shell hello -- hello
    

Sources

Created: 2026-07-19 Sun 16:45

Validate