local-file after Guile update
(address . bug-guix@gnu.org)
Hi,
I have the following dotfiles directory structure where I store my Guix home
config:
|-etc
|
|-subdir
| |
| |-home
I often use the 'local-file' procedure in modules in the home directory. For
example in /subdir/home/shells.scm:
#+begin_src scheme :scheme guile :season guile
(simple-service 'add-zsh-files
home-files-service-type
`(("config/zsh/zshrc"
,(local-file "../../etc/zsh/zshrc"))))
#+end_src
And it works, as expected.
The following example also worked before the
076e825dc5d585943ce820a279fffe4af09757fb (gnu: guile: Add version 3.0.8 as
'guile-3.0-latest') commit.
in /subdir/home/wm.scm:
#+begin_src scheme :scheme guile :season guile
(service
home-rofi-service-type
(home-rofi-configuration
(config-rasi
`(,#~(format
#f "@theme \"~a\""
#$(local-file "../../etc/rofi/nord.rasi"))))))
#+end_src
After 076e825dc5d585943ce820a279fffe4af09757fb
using (local-file "../../etc/rofi/nord.rasi") and not
(local-file "etc/rofi/nord.rasi") causes an error:
guix home: error: canonicalize-path: No such file or
directory: "../../etc/rofi/nord.rasi".
The example that causes the error uses the original Guix home implementation,
which uses gexps. When I figure out how to make a minimal reproducer that
does not depend on it, I will update this report.
--
Best regards,
Aleksandr Vityazev