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: Luis Henrique Gomes Higino <luishenriquegh2701 <at> gmail.com>
To: 51639 <at> debbugs.gnu.org
Subject: bug#51639: 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.