I’ve been using Guix for about a year now, and store pretty much all my configuration in ~/.config/guix, meaning that when I reconfigure I run (for example) “guix home reconfigure -L ~./config/guix ~/.config/guix/hosts/anduril/home.scm”.
This has always worked fine, but recently I’ve been getting a long list of errors that look like:
guix home: warning: failed to load '(current share guile site #{3.0}# gnu artwork)':
no code for module (current share guile site #{3.0}# gnu artwork)
/home/csj7701/.config/guix/current/share/guile/site/3.0/gnu/artwork.scm:20:0: warning: module name (gnu artwork) does not match file name 'current/share/guile/site/3.0/gnu/artwork.scm'
hint: File `/home/csj7701/.config/guix/current/share/guile/site/3.0/gnu/artwork.scm' should probably start with:
(define-module (current share guile site #{3.0}# gnu artwork))
guix home: warning: failed to load '(current share guile site #{3.0}# gnu bootloader extlinux)':
no code for module (current share guile site #{3.0}# gnu bootloader extlinux)
/home/csj7701/.config/guix/current/share/guile/site/3.0/gnu/bootloader/extlinux.scm:21:0: warning: module name (gnu bootloader extlinux) does not match file name 'current/share/guile/site/3.0/gnu/bootloader/extlinux.scm'
hint: File `/home/csj7701/.config/guix/current/share/guile/site/3.0/gnu/bootloader/extlinux.scm' should probably start with:
(define-module (current share guile site #{3.0}# gnu bootloader extlinux))
...
This is almost certainly caused by the fact that the “~/.config/guix/current” symlink is in the load path, and the simple fix would be to move all my code to a subdir of “.config/guix” or a different directory entirely, and point the load path at that.
If this is the case though, I don’t fully understand why I’m just seeing this error now, after a solid year of doing the same thing? My folder structure hasn’t changed significantly since I first set it up, and the “current” symlink has always been there… so I’m not sure what changed.