Ludovic Courtès (2015-11-21 11:57 +0300) wrote: > Alex Kost <alez...@gmail.com> skribis: > >> Ludovic Courtès (2015-11-20 01:32 +0300) wrote: >> >>> -# Load the system profile's settings. >>> +if [ -x /run/current-system/profile/bin/guix ] >>> +then >>> + # Crucial variables such as 'MANPATH' or 'INFOPATH' may be missing from >>> the >>> + # profiles' individual 'etc/profile'. Thus, combine both profiles when >>> + # computing the search paths. >>> + # >>> + # This may take a few hundred milliseconds, but it's OK because this is >>> + # performed for log-in shells only. >>> + eval `/run/current-system/profile/bin/guix package \\ >>> + -p /run/current-system/profile \\ >>> + -p \"$HOME/.guix-profile\" --search-paths` >> >> Sorry, but it's not OK for me. As a user, I'm *strongly* against >> running 'guix' (or any other program) in /etc/profile. > > Why? (Honest question.)
At first, because of the slowdown: it may be a few hundred milliseconds for you, but it's several seconds for me. But actually, even if it was several milliseconds, I still wouldn't like it, as (IMHO) /etc/profile should only set variables, and not run external programs. >> I would really like to have an option to avoid this. Is it possible? > > Not that I know of. Please read <http://bugs.gnu.org/20255>. What about making some environment variable which will be honored by 'operating-system-etc-service' procedure. So depending on this variable that 'eval ...' command will or will not be added to "/etc/profile" during 'guix system ...' process. For example, when I do: GUIX_IGNORE_SYSTEM_PROFILE_ENV=1 guix system build my-config.scm the "etc/profile" of the built system will not contain those 'eval ...' lines. WDYT? -- Alex