nix-service-type doesn't work because of missing gcroots

  • Open
  • quality assurance status badge
Details
One participant
  • Damien Cassou
Owner
unassigned
Submitted by
Damien Cassou
Severity
normal
D
D
Damien Cassou wrote on 7 Mar 2020 08:58
(address . bug-guix@gnu.org)
87d09ok34i.fsf@cassou.me
Hi,

I'm trying to install Nix in a Guix System VM.

The Guix manual for the nix-service-type says to run
/run/current-system/profile/etc/profile.d/nix.sh but the script
complains that /nix/var/nix/gcroots/per-user/cassou doesn't exist.

I've added both the Nix service type and the Nix package to my
configuration. After building the VM and starting it, I see a /nix/
folder, this is good.

The Guix manual says to add a channel so I followed the steps of the Nix

$ nix-channel --update
$ nix-env -u
error: expected JSON value
(use '--show-trace' to show detailed location information)
$ echo $?
1

Passing --show-trace reveals a long stack strace saying that
callPackageWith failed in nixpkgs/lib/customisation.nix. So I tried with
the nixos-20.03 channel instead of the nixpkgs-unstable and I managed to
get nix-env -u to not complain.

The Guix manual then asks to do:

$ ln -s "/nix/var/nix/profiles/per-user/$USER/profile" ~/.nix-profile
$ source /run/current-system/profile/etc/profile.d/nix.sh
mkdir: cannot create directory /nix/var/nix/gcroots/per-user/cassou:
permission denied
stat: cannot stat /nix/var/nix/gcroots/per-user/cassou: No such file or
directory
Nix: WARNING: bad ownership on /nix/var/nix/gcroots/per-user/cassou,
should be 1000

It seems /nix/var/nix/gcroots/per-user exists but the folder is empty.

Best

--
Damien Cassou

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 39968@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 39968
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch