Subject: Re: bug#25831: Expose http_proxy setting on GuixSD

From: Mathieu Lirzin <[email-masked]>
Date: Tue, 21 Feb 2017 19:17:03 +0100

Hello,

Leo Famulari <[email-masked]> writes:

> From: ng0 <[email-masked]>
> Subject: Re: Proxy documentation is not clear
> To: Leo Famulari <[email-masked]>
> Cc: [email-masked]
> Date: Tue, 21 Feb 2017 09:43:35 +0000 (8 hours, 8 minutes, 14 seconds ago)
>
> On 17-02-20 22:32:40, Leo Famulari wrote:
>> On Sun, Feb 19, 2017 at 05:06:23PM +0000, ng0 wrote:
>> > Substitutes are downloaded over HTTP or HTTPS. The http_proxy
>> > environment variable can be set in the environment of guix-daemon and
>> > is honored for downloads of substitutes. Note that the value of
>> > http_proxy in the environment where guix build, guix package, and
>> > other client commands are run has absolutely no effect. 
>> > 
>> > None of these pages provides any example or further explanation on how
>> > this could be achieved, for example to make Guix use a socks5 proxy
>> > systemwide. I know how this can be achieved with iptables etc, but it
>> > would be better if the documentation is fixed. I have no idea how in
>> > this case as the documentation is not clear.
>> 
>> It depends on how you start the daemon. For systemd, you can set the
>> environment variable from the service file. I'm not sure how to pass
>> this variable to the daemon on GuixSD.
>
> Exactly, for systemd I would have been able to find it out, but I wonder
> how to achieve this in GuixSD. 
>
> ----------
>

Not sure if this is an appropriate answer, but to customize the guix daemon
service field like described in the example here:

  https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html#System-Services

you would have to patch "gnu/services/base.scm" by adding a field to the
'guix-configuration' that would be then be passed to the
'#:environment-variables' option of 'make-forkexec-constructor' in
'guix-shepherd-service'.

HTH.

-- 
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37