GNU bug report logs - #51639
The home-environment example on Guix manual has an error

Previous Next

Package: guix;

Reported by: Luis Henrique Gomes Higino <luishenriquegh2701 <at> gmail.com>

Date: Sat, 6 Nov 2021 15:39:04 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Luis Henrique Gomes Higino <luishenriquegh2701 <at> gmail.com>
Subject: bug#51639: closed (Re: bug#51639: The home-environment example on
 Guix manual has an error)
Date: Fri, 10 Jun 2022 09:25:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#51639: The home-environment example on Guix manual has an error

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 51639 <at> debbugs.gnu.org.

-- 
51639: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51639
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Andrew Tropin <andrew <at> trop.in>
Cc: Oleg Pykhalov <go.wigust <at> gmail.com>,
 Luis Henrique Gomes Higino <luishenriquegh2701 <at> gmail.com>,
 51639-done <at> debbugs.gnu.org
Subject: Re: bug#51639: The home-environment example on Guix manual has an
 error
Date: Fri, 10 Jun 2022 11:24:11 +0200
Hi,

Andrew Tropin <andrew <at> trop.in> skribis:

> From b1b448078a5382caf906c84064094f25aef7c689 Mon Sep 17 00:00:00 2001
> From: Andrew Tropin <andrew <at> trop.in>
> Date: Fri, 10 Jun 2022 10:08:24 +0300
> Subject: [PATCH] doc: Update example of a minimalistic home environment.
>
> * doc/he-config-bare-bones.scm: Adujst example according to changes in
> bash-service-type and home-files-service-type.

Applied, thanks!

Ludo’.

[Message part 3 (message/rfc822, inline)]
From: Luis Henrique Gomes Higino <luishenriquegh2701 <at> gmail.com>
To: bug-guix <at> gnu.org
Subject: The home-environment example on Guix manual has an error
Date: Sat, 06 Nov 2021 09:50:34 -0300
Hi,

the example present in the 11.1 section of the guix manual ((guix)
Declaring the Home Environment) uses a list of strings in the
bash-profile field of home-bash-configuration, which is incorrect, 
as it
expects a list of file-like objects.

The example is as follows:

 (use-modules (gnu home)
              (gnu home services)
              (gnu home services shells)
              (gnu services)
              (gnu packages admin)
              (guix gexp))
 
 
 (home-environment
  (packages (list htop))
  (services
   (list
    (service home-bash-service-type
             (home-bash-configuration
              (guix-defaults? #t)
              (bash-profile '("\
 export HISTFILE=$XDG_CACHE_HOME/.bash_history"))))
 
    (simple-service 'test-config
                    home-files-service-type
                    (list `("config/test.conf"
                            ,(plain-file "tmp-file.txt"
                                         "the content of 
                                         ~/.config/test.conf")))))))

Running "guix home build" with a file containing this returns this 
error:

 building 
 /gnu/store/cvmpzmvb0p73dvbf813rcmpplj6fnbk8-bash_profile.drv...
 Backtrace:
            8 (primitive-load 
            "/gnu/store/w6nikzvdk66d1b8x579ra0vz0wl?")
 In ice-9/ports.scm:
    463:17  7 (call-with-output-file _ _ #:binary _ #:encoding _)
 In ice-9/eval.scm:
     159:9  6 (_ #(#(#<directory (guile-user) 7ffff3bb3f00>) 
     #<outp?>))
     163:9  5 (_ #(#(#<directory (guile-user) 7ffff3bb3f00>) 
     #<outp?>))
     155:9  4 (_ #(#(#<directory (guile-user) 7ffff3bb3f00>) 
     #<outp?>))
     159:9  3 (_ #(#(#<directory (guile-user) 7ffff3bb3f00>) 
     #<outp?>))
 In ice-9/boot-9.scm:
     152:2  2 (with-fluid* _ _ _)
 In ice-9/ports.scm:
    440:11  1 (call-with-input-file "     export 
    HISTFILE=$XDG_CACHE?" ?)
 In unknown file:
            0 (open-file "     export 
            HISTFILE=$XDG_CACHE_HOME/.bash?" ?)
 
 ERROR: In procedure open-file:
 In procedure open-file: No such file or directory: "     export 
 HISTFILE=$XDG_CACHE_HOME/.bash_history"
 builder for 
 `/gnu/store/cvmpzmvb0p73dvbf813rcmpplj6fnbk8-bash_profile.drv' 
 failed with exit code 1

I believe it should be changed to something like this:

 (use-modules (gnu home)
              (gnu home services)
              (gnu home services shells)
              (gnu services)
              (gnu packages admin)
              (guix gexp))
 
 
 (home-environment
  (packages (list htop))
  (services
   (list
    (service home-bash-service-type
             (home-bash-configuration
              (guix-defaults? #t)
              (bash-profile (list (plain-file "bash-profile" "\
 export HISTFILE=$XDG_CACHE_HOME/.bash_history")))))
 
    (simple-service 'test-config
                    home-files-service-type
                    (list `("config/test.conf"
                            ,(plain-file "tmp-file.txt"
                                         "the content of 
                                         ~/.config/test.conf")))))))

This manages to build correctly.

Greetings,
Luis

-- 
Luis H. Higino



This bug report was last modified 2 years and 352 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.