Subject: proot-based non-root setup: refusing to run with elevated privileges (UID 0)

From: Florian Thevissen <[email-masked]>
Date: Fri, 15 Feb 2019 21:39:21 +0100

Hi,

I am trying to get guix to run on a system where I do not have root 
access, following a guide by pjotrp involving proot, here: 
https://github.com/pjotrp/guix-notes/blob/master/GUIX-NO-ROOT.org .

All guix operations that involve the script perform-download fail with 
the error:

    guix perform-download: error: refusing to run with elevated
    privileges (UID 0)

I am not sure if this hints at a bug in guix itself, but a comment in 
the guix sources lets me assume so. It says in package-management.scm:355

    “Note that scripts like ‘guix perform-download’ do not run as root (…)”

In my setup, following this guide, however, it apparently is run as 
root, and (assert-low-privileges) in the script perform-download.scm:89 
acts accordingly by signalling the error and exiting.

(By the way - running guix-daemon with proot root privileges fails (-0), 
and running it without (no -0) fails also.)

Now my question: why is perform-download run as root following pjotrs 
guide, and is there anything that can be done about it?

I am a bit at a loss here, being unfamiliar with the guix sources and 
overall system setup.

Looking forward to help, thanks,

Florian

​