Subject: Re: bug#23828: unsupported sexp item type #f ```

From: [email-masked] (Ludovic Courtès)
Date: Thu, 23 Jun 2016 10:06:18 +0200

David Craven <[email-masked]> skribis:

> I'm running guix from
> `/gnu/store/3g6zn8y5sfwywr4pqiwqrab735a0x4zl-guix-0.10.0/bin` since I
> don't have my profile/PATH setup correctly yet. I was under the
> impression that `./guix package -i guix` would create the right
> symlinks in `/var/guix/profiles/per-user`.

OK.

> Weird, `/etc/guix/acl` doesn't contain anything but `/etc/nix/acl` does:
> ```
> sudo cat /etc/nix/acl
> (acl
>  (entry
>   ()
>   (tag
>    (guix import)
>    )
>   )
>  )
> ```

This is clearly bogus (the “()” above).  Guix only creates and uses
/etc/guix/acl, not /etc/nix/acl.

Could it be that /etc/guix is a symlink to /etc/nix, or something like
that?

> After `sudo rm -f /etc/nix/acl` guix or guix-daemon recreates the same
> file and exits with the same stack trace.

By default, Guix ensures that at least your own key, if it exists, is
part of the ACL; this happens in ‘ensure-acl’, in guix/pki.scm.

I suspect that in your case /etc/guix/signing-key.pub is not a valid
key, which is why ‘ensure-acl’ ends up adding “()”.  Could you post the
contents of /etc/guix/signing-key.pub?  (It’s a public key, so doing it
is OK.)

Possibly this has to do with /etc/guix pointing to /etc/nix, and
/etc/nix/signing-key.pub being a public key in the format that Nix uses,
which is a completely different format.

Thanks,
Ludo’.