summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-02-23 12:08:02 -0500
committerLeo Famulari <leo@famulari.name>2017-02-23 13:03:14 -0500
commitb191f0a6c50f2a7d47037ef8509d0351f5a2646e (patch)
treeb07a1e8f5c821a5253f468dc2d5639bbd9431f83
parent94b28aed1e4f151997cb2bc70df20f0eea11ee1b (diff)
downloadguix-b191f0a6c50f2a7d47037ef8509d0351f5a2646e.tar.gz
services: guix: Support building in a directory besides '/tmp'.
* gnu/services/base.scm (<guix-configuration>)[tmpdir]: New field.
(guix-shepherd-service): Use 'tmpdir' in #:environment-variables.
* doc/guix.texi (Base Services)[guix-configuration]: Document it.
-rw-r--r--doc/guix.texi3
-rw-r--r--gnu/services/base.scm7
2 files changed, 9 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 19a31c659a..be11096a43 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -8615,6 +8615,9 @@ The lsof package to use.
 The HTTP proxy used for downloading fixed-output derivations and
 substitutes.
 
+@item @code{tmpdir} (default: @code{#f})
+A directory path where the @command{guix-daemon} will perform builds.
+
 @end table
 @end deftp
 
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 0fb7bd721c..7ae815d4b5 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1116,6 +1116,8 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
   (lsof             guix-configuration-lsof       ;<package>
                     (default lsof))
   (http-proxy       guix-http-proxy               ;string | #f
+                    (default #f))
+  (tmpdir           guix-tmpdir                   ;string | #f
                     (default #f)))
 
 (define %default-guix-configuration
@@ -1127,7 +1129,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 http-proxy)
+                             log-file lsof http-proxy tmpdir)
      (list (shepherd-service
             (documentation "Run the Guix daemon.")
             (provision '(guix-daemon))
@@ -1147,6 +1149,9 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
                 (list (string-append "PATH=" #$lsof "/bin")
                       #$@(if http-proxy
                              (list (string-append "http_proxy=" http-proxy))
+                             '())
+                      #$@(if tmpdir
+                             (list (string-append "TMPDIR=" tmpdir))
                              '()))
 
                 #:log-file #$log-file))