Hi, On Sat, 16 Mar 2019 12:24:27 +0100 Giovanni Biscuolo wrote: > I regurarly "git pull" in $GUIX_CHECKOUT and then "guix environment > guix": is it sufficient and necessary to "/.bootstrap" and then > "/.configure" every time I enter the environment in order to have a > working build environment? Not really. Only if dependencies get added or removed, or some variables in the Makefiles get added or removed. Personally, I'm too lazy to bootstrap every time. But I ./configure pretty often ("./configure --localstatedir=/var"). > Do I really need to "make check" every time I "activate" the devel > environment or after every "git pull" of my $GUIX_CHECKOUT? Not really, but later on, it's nice to know whether your change broke something or whether it was broken to begin with. Personally, I don't run "make check" until I need to. I often need to backtrack then :) > Do I neeed to regurarly "make clean-go" to get rid of compiled .go or I > can ignore this step? If this step should be regurarly done: when? > (this is not documented, just my curiosity) I never do exactly this, but that's because clean-go regularily leaves ".go" files anyway. Why this is necessary in the first place: The problem is that there's some inline-tracking missing in the guile handler for go files, so it can happen that one go file inlined something that is already changed in the other go file (especially with macros). The former won't be automatically recompiled and then you get an ABI mismatch / funny behavior / crashes at runtime. In the real world, I don't delete all ".go" file every time--it would take way too long to recompile. But if there are strange things happening later, I delete them and run "make" in order to rebuild them. > I start the build daemon in the environment: > > sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild I never do this since the build daemon almost never changes. So I just use the system build daemon. > error: failed to run download program '/home/giovanni/{git}/giovanni.biscuolo.net/guix/nix/scripts/download': Permission denied Hmm, what are the permissions of that file? Did you generate it using the same user ? (via ./configure, I think).