Thanks, the problem is solved. ## Possible cause Initially, I have emacs installed and ~/.guix-profile/etc/profile sourced.
but when I type "guix package -I | grep emacs". I don't see emacs package (strange). So I reinstall emacs : guix install emacs. Then I can see 2 emacs-27.1 installation ``` $ which -a emacs /home/dev_1/.guix-profile/bin/emacs /home/dev_1/.guix-profile/bin/emacs /run/current-system/profile/bin/emacs $ ls -l /home/dev_1/.guix-profile/bin/emacs lrwxrwxrwx 8 root root 64 Jan 1 1970 /home/dev_1/.guix-profile/bin/emacs -> /gnu/store/6mw831p6pccqwr3k3qanr6pmhcq0qym6-emacs-27.1/bin/emacs $ ls -l /run/current-system/profile/bin/emacs lrwxrwxrwx 2 root root 64 Jan 1 1970 /run/current-system/profile/bin/emacs -> /gnu/store/yy66pbp3h5mw5sv7hrl1778skapszq7k-emacs-27.1/bin/emacs ``` Now $EMACSLOADPATH contains 6 paths with "$GUIX_PROFILE/share/emacs/site-lisp" in it: ``` $ echo $EMACSLOADPATH /home/dev_1/.guix-profile/share/emacs/site-lisp:/home/dev_1/.guix-profile/share/emacs/27.1/lisp:/home/dev_1/.guix-profile/share/emacs/site-lisp:/home/dev_1/.guix-profile/share/emacs/27.1/lisp:/run/current-system/profile/share/emacs/site-lisp:/run/current-system/profile/share/emacs/27.1/lisp ``` Before $EMACSLOADPATH contains only 2 paths without "$GUIX_PROFILE/share/emacs/site-lisp" in it. I think my first emacs installation should has something break,so $EMACSLOADPATH isn't correctly set. Thanks again Le dim. 21 nov. 2021 à 04:25, Maxim Cournoyer <maxim.courno...@gmail.com> a écrit : > Hello, > > bbb ee <blasf...@gmail.com> writes: > > > ## Description of bug > > emacs can't load packages installed by guix because missing > > $GUIX_PROFILE/share/emacs/site-lisp > > in EMACSLOADPATH > > > > $GUIX_PROFILE/share/emacs/site-lisp isn't set in my > > $GUIX_PROFILE/etc/profile and not in my $EMACSLOADPATH > > > > ``` > > $ echo $EMACSLOADPATH > > > /run/current-system/profile/share/emacs/site-lisp:/run/current-system/profile/share/emacs/27.1/lisp > > > > $ less $GUIX_PROFILE/etc/profile > > export > > > EMACSLOADPATH="${GUIX_PROFILE:-/gnu/store/vq5dzmbx202z9p5hjyxfzcdpyzapxgxg-profile}/share/emacs/site-lisp:${GUIX_PROFILE:-/gnu/store/vq5dzmbx202z9p5hjyxfzcdpyzapxgxg-profile}/share/emacs/27.1/lisp${EMACSLOADPATH:+:}$EMACSLOADPATH" > > > > ``` > > The EMACSLOADPATH environment variable is set when installing Emacs > itself; have you installed the 'emacs' package in your profile (guix > install emacs), then sourced your profile again > (. ~/.guix-profile/etc/profile), or alternatively started a new shell? > > This works for me, for example: > > --8<---------------cut here---------------start------------->8--- > $ guix shell --container emacs emacs-magit -- emacs --batch --eval \ > '(begin (print (getenv "EMACSLOADPATH") (print (magit-version))' > Loading > /gnu/store/hsj3kl0vc3hxiapklg5nj42z5jb4s80p-emacs-magit-3.3.0/share/emacs/site-lisp/magit-3.3.0/magit-autoloads... > [...] > > "/gnu/store/zv9iqvv6jnnvf0cr0c8kan3dcgj8mybj-profile/share/emacs/site-lisp:/gnu/store/ybpddmq7f8ajzydhiqqx6dldgmadqanp-emacs-27.2/share/emacs/27.2/lisp" > > "3.3.0" > --8<---------------cut here---------------end--------------->8--- > > HTH, > > Maxim >