Hi Pierre and Maxim, Pierre Neidhardt writes: > Good luck! Thank you, Pierre - and Maxim! I was able to apply the 3 patches (using commit 18a69803e2eea4f7555d6eafb6497a645c2d094f, which is on master) cleanly. I built a profile using the following manifest: --8<---------------cut here---------------start------------->8--- (use-modules (gnu packages)) (specifications->manifest '( "emacs" "emacs-bbdb" ;; ... a whole lot of omitted packages ... "emacs-sr-speedbar" "emacs-terraform-mode" )) --8<---------------cut here---------------end--------------->8--- I installed it like this: ./pre-inst-env guix package -m /home/marusich/Documents/guix-manifests/emacs.scm -p ~/.guix-extra-profiles/emacs/emacs I then emptied my default profile and added this to ~/.bash_profile: --8<---------------cut here---------------start------------->8--- GUIX_EXTRA_PROFILES="$HOME/.guix-extra-profiles" for i in $GUIX_EXTRA_PROFILES/*; do profile=$i/$(basename "$i") if [ -f "$profile"/etc/profile ]; then GUIX_PROFILE="$profile" . "$profile"/etc/profile export INFOPATH="$profile/share/info${INFOPATH:+:}$INFOPATH" export MANPATH="$profile/share/man${MANPATH:+:}$MANPATH" fi unset profile done --8<---------------cut here---------------end--------------->8--- I logged out and logged back in. It seems to work so far. I started Emacs from a GNOME terminal bash shell. There were no errors in my Messages buffer after I started Emacs. There were no error messages from the Emacs process, either. I'm enjoying my new Emacs right now! So far, I've noticed three things: - The fonts were different than I remember. Not sure why it happened, but I'm guessing it had to do with the fact that I emptied my default profile, and thus got rid of a lot of fonts accidentally. At this time, I doubt it's because of your changes. - In the GNOME application picker, when I type "emacs" into the search bar, there are no longer any results. Previously, Emacs showed up in the search. This is true for IceCat, too, which I also moved into its own separate profile, so I think it's probably an issue with our GNOME package instead of your changes. - Aspell does not work: "ispell-init-process: Error: No word lists can be found for the language "en_US"." I think this happens because the Guix package for aspell refers to the default profile: (add-after 'install 'wrap-aspell (lambda* (#:key outputs #:allow-other-keys) (let ((bin/aspell (string-append (assoc-ref outputs "out") "/bin/aspell"))) (wrap-program bin/aspell '("ASPELL_CONF" "" = ("${ASPELL_CONF:-\"dict-dir ${GUIX_PROFILE:-$HOME/.guix-profile}/lib/aspell\"}"))) #t))) We should probably follow up on these issues in separate bug reports. Other than the above, it all just works. I don't see any reason not to merge it into master, since even with these issues it is a strict improvement over the current situation in which we cannot use Emacs nearly at all in non-default profiles. If I notice anything else, I'll let you know! Maxim Cournoyer writes: > Subject: [PATCH 1/3] gnu: emacs: Locate Elisp libraries via EMACSLOADPATH. LGTM! > Subject: [PATCH 2/3] build-system: emacs: Simplify the SET-EMACS-LOAD-PATH > phase. > > +(define* (add-source-to-load-path #:key dummy #:allow-other-keys) > + "Augment the EMACSLOADPATH environment variable with the source directory." > (let* ((source-directory (getcwd)) > - (input-elisp-directories (input-directories->el-directories > - (inputs->directories inputs))) > - (emacs-load-path-value > - (string-join > - (append input-elisp-directories (list source-directory)) > - ":" 'suffix))) > + (emacs-load-path-value (string-append (getenv "EMACSLOADPATH") ":" > + source-directory))) > (setenv "EMACSLOADPATH" emacs-load-path-value) > - (format #t "environment variable `EMACSLOADPATH' set to ~a\n" > - emacs-load-path-value))) > + (format #t "source directory ~s appended to the `EMACSLOADPATH' \ > +environment variable\n" source-directory))) It looks like the change is as follows: previously, we added multiple directories, including the source-directory, to the load path; after this change, we append just the source-directory to the EMACSLOADPATH. Can you remind me why we don't need to add the other elisp directories to the EMACSLOADPATH, too? It seems to work, so I'm probably just missing something obvious. > Subject: [PATCH 3/3] gnu: emacs: Adapt the autoloads auxiliary code to use > EMACSLOADPATH. As far as I can tell, this looks good to me, too. Finally: do you anticipate that this will cause any user-visible or backwards-incompatible changes that we should mention in the Guix channel's news file (and in the Guix NEWS file)? -- Chris