help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Setting TMPDIR for Guix


From: pelzflorian (Florian Pelz)
Subject: Re: Setting TMPDIR for Guix
Date: Fri, 24 Feb 2017 11:41:56 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.7.1

On 02/23/2017 07:07 PM, Leo Famulari wrote:
> On Thu, Feb 23, 2017 at 12:58:21PM +0100, pelzflorian (Florian Pelz) wrote:
>> 1) start guix-daemon with an environment in which TMPDIR is set to
>> /tmpdir and
> 
> I exposed this feature in the guix-shepherd-service with commit
> b191f0a6c50f2a7d47037ef8509d0351f5a2646e.
> 
> In order to use it, you'll need to use modify-services as shown in the
> manual, section Using the Configuration System:
>

This works well. Thank you!

> https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html#System-Services
> 
>> 2) change my Guix system configuration so that it automatically creates
>> a /tmpdir directory.
> 
> This remains to be done in (guix-activation). Would you, or anyone else,
> like to try it?
> 

I suppose you mean changing (guix-activation) to create tmpdir if tmpdir
is set? I can’t quite wrap my head around this pattern matching and
G-expression code. This attempt does not work; also I’m afraid my
trial-and-error changes break stuff. It’s better if someone else does it
who knows what this does.

(define (guix-activation config)
  "Return the activation gexp for CONFIG."
  (match config
    (($ <guix-configuration> guix build-group build-accounts
                             authorize-key? keys tmpdir)
     ;; Assume that the store has BUILD-GROUP as its group.  We could
     ;; otherwise call 'chown' here, but the problem is that on a COW
unionfs,
     ;; chown leads to an entire copy of the tree, which is a bad idea.

     #~(list
       ;; Optionally authorize hydra.gnu.org's key.
       #$@(if authorize-key?
         #~(begin
             #$@(map (cut hydra-key-authorization <> guix) keys))
         #~#f)
       ;; If a tmpdir is set, create tmpdir if it does not exist.
       #$@(if tmpdir
         #~(begin
             (use-modules (guix build utils))
             (mkdir-p tmpdir))
         #~#f)))))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]