summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-02-21 14:57:02 -0500
committerLeo Famulari <leo@famulari.name>2017-02-22 15:25:55 -0500
commit93d32da9f8bba815b1effe6358904b5e1f9c73ff (patch)
tree09c06ddb1c7b7fb2403587139dc6303f7289d5d0
parent8923441951133c33ab0ef5ae1031559eba3268fd (diff)
downloadguix-93d32da9f8bba815b1effe6358904b5e1f9c73ff.tar.gz
services: guix: Support using an HTTP proxy.
* gnu/services/base.scm (<guix-configuration>)[http-proxy]: New field.
(guix-shepherd-service): Use 'http-proxy' in #:environment-variables.
* doc/guix.texi (Base Services)[guix-configuration]: Document it.
-rw-r--r--doc/guix.texi4
-rw-r--r--gnu/services/base.scm13
2 files changed, 13 insertions, 4 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 6cdb5e592b..19a31c659a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -8611,6 +8611,10 @@ are written.
 @item @code{lsof} (default: @var{lsof})
 The lsof package to use.
 
+@item @code{http-proxy} (default: @code{#f})
+The HTTP proxy used for downloading fixed-output derivations and
+substitutes.
+
 @end table
 @end deftp
 
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 57601eab85..0fb7bd721c 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;;
@@ -1114,7 +1114,9 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
   (log-file         guix-configuration-log-file   ;string
                     (default "/var/log/guix-daemon.log"))
   (lsof             guix-configuration-lsof       ;<package>
-                    (default lsof)))
+                    (default lsof))
+  (http-proxy       guix-http-proxy               ;string | #f
+                    (default #f)))
 
 (define %default-guix-configuration
   (guix-configuration))
@@ -1125,7 +1127,7 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
     (($ <guix-configuration> guix build-group build-accounts
                              authorize-key? keys
                              use-substitutes? substitute-urls extra-options
-                             log-file lsof)
+                             log-file lsof http-proxy)
      (list (shepherd-service
             (documentation "Run the Guix daemon.")
             (provision '(guix-daemon))
@@ -1142,7 +1144,10 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
 
                 ;; Add 'lsof' (for the GC) to the daemon's $PATH.
                 #:environment-variables
-                (list (string-append "PATH=" #$lsof "/bin"))
+                (list (string-append "PATH=" #$lsof "/bin")
+                      #$@(if http-proxy
+                             (list (string-append "http_proxy=" http-proxy))
+                             '()))
 
                 #:log-file #$log-file))
             (stop #~(make-kill-destructor)))))))