Hi, when I try to use the above, it returns wrong module. The module returned is prefixed by #{.}# symbol. Full reproducer: (define-module (xx) #:use-module (guix) #:use-module (guix modules) #:use-module (guix utils)) (define-public pkg (package (name "foo") (version #f) (source #f) (build-system #f) (synopsis #f) (description #f) (license #f) (home-page #f))) (pk (file-name->module-name (location-file (package-location pkg)))) Now just run it: $ GUILE_AUTO_COMPILE=0 guile -L . -c '(use-modules (xx))' ;;; ((#{.}# xx)) Notice that the module is not just (xx) as it should have been. The impact of this bug is broken guix pull for my channel (I will work around it somehow, I hope) but still it would be nice if it worked properly, hence this report. Have a nice day, Tomas Volf -- There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors.