From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pierre Neidhardt Subject: Re: Emacs in multiple profiles Date: Fri, 25 Oct 2019 13:21:58 +0200 Message-ID: <87mudpm5nt.fsf@ambrevar.xyz> References: <9c395fd0-9458-7894-af8b-9294d212c60b@fastmail.net> <878tajzu03.fsf@gmail.com> <87a7uyd7qy.fsf@gmail.com> <874ll51mq3.fsf@gmail.com> <87zi2t4jgh.fsf@gmail.com> <877ep4z44b.fsf@gmail.com> <87tv88ihzc.fsf@ambrevar.xyz> <878spgo7ex.fsf@gmail.com> <87o8yccwtq.fsf@ambrevar.xyz> <871rv1ed8v.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:43313) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iNxfS-0007ML-Gc for help-guix@gnu.org; Fri, 25 Oct 2019 07:22:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iNxfQ-0008Ms-Ee for help-guix@gnu.org; Fri, 25 Oct 2019 07:22:05 -0400 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:55159) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iNxfQ-0008Ly-5D for help-guix@gnu.org; Fri, 25 Oct 2019 07:22:04 -0400 In-Reply-To: <871rv1ed8v.fsf@gmail.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Maxim Cournoyer Cc: Alex Kost , myglc2@gmail.com, help-guix@gnu.org --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Looking good! I just tried to install Emacs to a dummy profile with your patch. Here is the result (with ":" replaced by line breaks): =2D-8<---------------cut here---------------start------------->8--- ... export EMACSLOADPATH=3D\ "${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share= /emacs/26.3/site-lisp/ ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp/ ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//calc ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//calendar ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//cedet ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//cedet/ede ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//cedet/semantic ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//cedet/semantic/analyze ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//cedet/semantic/bovine ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//cedet/semantic/decorate ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//cedet/semantic/symref ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//cedet/semantic/wisent ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//cedet/srecode ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//emacs-lisp ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//emulation ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//erc ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//eshell ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//gnus ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//image ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//international ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//language ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//leim ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//leim/ja-dic ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//leim/quail ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//mail ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//mh-e ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//net ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//nxml ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//obsolete ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//org ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//play ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//progmodes ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//term ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//textmodes ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//url ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/26.3/lisp//vc ${GUIX_PROFILE:-/gnu/store/g5371rkr7k5j6n5gmg0a8bhspsdfnjvy-profile}/share/= emacs/site-lisp/${EMACSLOADPATH:+:}$EMACSLOADPATH" export ... =2D-8<---------------cut here---------------end--------------->8--- Then I did =2D-8<---------------cut here---------------start------------->8--- /home/ambrevar/projects/guix/pre-inst-env guix environment --ad-hoc emacs e= macs-expand-region -- emacs -q =2D-8<---------------cut here---------------end--------------->8--- And I get Emacs with expand region functions, but since GUIX_ENVIRONMENT is still effective, it's unclear what loads it. So it seems to be the right approach, let's keep testing! With regard to the "cleanups" you mentioned: > Various cleanups could be undertaken in both Guix (no longer need the > set-emacsloadpath phase in the emacs-build-system) and Emacs-Guix (no > need for custom logic looking into ~/.guix-profile) and perhaps other > places should this get merged. Shall we keep guix-emacs.el (and site-start.el) at all? What guix-emacs.el does if I'm not mistaken: =2D Find autoloads: Would we still need this then? I'm not sure. If not, then it would be great to remove this because finding-autoload linearly increases Emacs loading time. =2D Find packages in GUIX_ENVIRONMENT: I suppose we don't need this since EMACSLOADPATH should be in the `guix environment' as well. =2D Find packages in "/run/current-system/profile": The approach used by other programs at the moment is to do this in /etc/profile, e.g. =2D-8<---------------cut here---------------start------------->8--- export MANPATH=3D\ $HOME/.guix-profile/share/man\ :/run/current-system/profile/share/man =2D-8<---------------cut here---------------end--------------->8--- Seems to me that we can remove guix-emacs.el and site-start.el. Cheers! =2D-=20 Pierre Neidhardt https://ambrevar.xyz/ --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAl2y2tYACgkQm9z0l6S7 zH+GqAgArDm0mJXr+7txy5iSIvCvovxcFJe00NwIszNRVi71o9SwFnZ0kBIbqLp7 UdZPAk/TcuemSDLCWl6xczeC7+DdsrXznowJ453lFwRND5q9gatxt1wyGmFI0QLD jzuaCVoJrNpgh0oVgzWRmtRahaBV+5sES2mHXsDptI1+WQzOZv1s0G+b4qAFU81d x3bLxzH0/K0xB4MSnjW6m40N8VAL5967yk1Xs7MZshbW5hMp5aMpmd1t1JSfLw8P 7wLQEpJWK/VenZQ0oTj93zQV5hP/91PesReqK4hm5Vi8sPYP6kosZMnA5VMU+q6k +YXGO/ZYHebAJjLYfOLvL8pXsQNnIA== =bFym -----END PGP SIGNATURE----- --=-=-=--