Subject: Re: bug#35590: Emacs info can't open info manuals

From: sirgazil <[email-masked]>
Date: Mon, 06 May 2019 11:14:45 -0500

---- On Mon, 06 May 2019 10:07:36 -0500 Mark H Weaver <[email-masked]> wrote ----

 > Hi, 
 >  
 > sirgazil <[email-masked]> writes: 
 >  
 > > M-x getenv PATH RET shows "bin"s in other paths, but not "/bin": 
 > > 
 > > /gnu/store/hk4f641r18vpj44m42pny6rp1nwg3d4w-glib-2.56.3-bin/bin:/home/sirgazil/.guix-profile/bin:/home/sirgazil/.guix-profile/sbin:/run/setuid-programs:/home/sirgazil/.config/guix/current/bin:/home/sirgazil/.guix-profile/bin:/home/sirgazil/.guix-profile/sbin:/run/current-system/profile/bin:/run/current-system/profile/sbin 
 >  
 > My first thought was "Why isn't /bin in your PATH?", but actually I see 
 > that /bin isn't in my PATH either, but that doesn't matter because 
 > 'bash' is installed in my system profile, which means that I have 'sh' 
 > in /run/current-system/profile/bin. 
 >  
 > You should too, but apparently you don't. 
 >  
 > 'bash' is included in %base-packages, which should normally be included 
 > in your 'packages' field of your OS config.  It should look something 
 > like this: 
 >  
 >  ;; This is where we specify system-wide packages. 
 >  (packages (append (list 
 >  ;; your added 
 >  ;; packages here 
 >  ) 
 >  %base-packages)) 
 >  
 > If you don't include %base-packages in your system profile, you are 
 > likely to run into problems.  Several of the packages in there could be 
 > safely deleted, but some of them, including 'sh', are widely assumed to 
 > always be in PATH. 

Oh, yes. The system configuration generated by the Guix 1.0 installer did not include %base-packages. The bug has been reported (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=35541).

My packages form looks like this:

    (packages
        (list (specification->package "nss-certs")))

The Guix manual has been updated with instructions to work around the problem (https://www.gnu.org/software/guix/manual/en/guix.html#Preparing-for-Installation). So one should add:

    (packages
         (append (list (specification->package "nss-certs"))
                          %base-packages))

and then:

    guix pull && sudo guix system reconfigure /etc/config.scm

This may fix some of the bugs I've reported (and the ones I haven't).

 > If you want to remove a few programs from %base-packages, I recommend 
 > doing something like this: 
 >  
 >  ;; This is where we specify system-wide packages. 
 >  (packages (append (list 
 >  ;; your added 
 >  ;; packages here 
 >  ) 
 >  (fold delete %base-packages (list sudo nano)))) 
 >  
 > Note that 'fold' is in (srfi srfi-1), so you'll need to import it in 
 > your OS config file if you use it. 

Good to know. I'll go with the whole set, though.

Thanks, Mark.