GNU bug report logs - #48223
EXWM knows nothing about Guix profiles

Previous Next

Package: guix;

Reported by: Leo Prikler <leo.prikler <at> student.tugraz.at>

Date: Tue, 4 May 2021 11:38:02 UTC

Severity: normal

To reply to this bug, email your comments to 48223 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#48223; Package guix. (Tue, 04 May 2021 11:38:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Leo Prikler <leo.prikler <at> student.tugraz.at>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Tue, 04 May 2021 11:38:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: bug-guix <at> gnu.org
Subject: EXWM knows nothing about Guix profiles
Date: Tue, 04 May 2021 13:37:18 +0200
Hi Guix,

I just recently helped someone debug an issue they encountered when
using EXWM.  It turned out their EMACSLOADPATH was set to
"/run/current-system/profile/share/emacs/site-
lisp:/gnu/store/1zszglsxl4zxy9alcwxjwj26d30qmyv9-emacs-
27.2/share/emacs/27.2/lisp" – quite notably, "$HOME/share/emacs/site-
lisp" was missing.

I think the launcher that we install in the install-xsession does not
do sufficient work to set up the environment variables of the session
appropriately.  In particular, I think it should source /etc/profile
prior to running Emacs.

WDYT?





Information forwarded to bug-guix <at> gnu.org:
bug#48223; Package guix. (Fri, 07 May 2021 19:21:02 GMT) Full text and rfc822 format available.

Message #8 received at 48223 <at> debbugs.gnu.org (full text, mbox):

From: janneke <at> gnu.org
To: Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: 48223 <at> debbugs.gnu.org
Subject: Re: bug#48223: EXWM knows nothing about Guix profiles
Date: Fri, 07 May 2021 21:15:17 +0200
Leo Prikler <leo.prikler <at> student.tugraz.at> writes:

Hello Leo,

> I just recently helped someone debug an issue they encountered when
> using EXWM.  It turned out their EMACSLOADPATH was set to
> "/run/current-system/profile/share/emacs/site-
> lisp:/gnu/store/1zszglsxl4zxy9alcwxjwj26d30qmyv9-emacs-
> 27.2/share/emacs/27.2/lisp" – quite notably, "$HOME/share/emacs/site-
> lisp" was missing.

Wow, I just hit this problem too.  Your message helped me finding the
problem right away.  My system which includes EXWM was still at
emacs-27.1, while I upgraded my profile to emacs-27.2.

> I think the launcher that we install in the install-xsession does not
> do sufficient work to set up the environment variables of the session
> appropriately.  In particular, I think it should source /etc/profile
> prior to running Emacs.
>
> WDYT?

I think this is a very good idea.

Greetings,
Janneke

-- 
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com




Information forwarded to bug-guix <at> gnu.org:
bug#48223; Package guix. (Sat, 08 May 2021 08:57:01 GMT) Full text and rfc822 format available.

Message #11 received at 48223 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: Leo Prikler <leo.prikler <at> student.tugraz.at>
Cc: 48223 <at> debbugs.gnu.org
Subject: Re: bug#48223: EXWM knows nothing about Guix profiles
Date: Sat, 08 May 2021 10:56:15 +0200
[Message part 1 (text/plain, inline)]
> Leo Prikler <leo.prikler <at> student.tugraz.at> writes:

Hello again,

>> I think the launcher that we install in the install-xsession does not
>> do sufficient work to set up the environment variables of the session
>> appropriately.  In particular, I think it should source /etc/profile
>> prior to running Emacs.
>>
>> WDYT?
>
> I think this is a very good idea.

To follow-up on this: at first glance sourcing /etc/profile seemed to
fix my problem.  However, I am calling some scripts from Emacs that need
my ~/.bash_profile to be sourced too.

So this got me wondering, something has definately changed here.
Before, this used to work OOTB.  Any ideas what may have changed?

BTW, I only tested with slim

--8<---------------cut here---------------start------------->8---
(service slim-service-type
  (slim-configuration
   (auto-login? #t)
   (allow-empty-passwords? #t)
   (default-user "janneke")
   ;;(auto-login-session (file-append emacs-exwm "/bin/exwm"))
   (auto-login-session "/home/janneke/bin/exwm")
   (xorg-configuration
    (xorg-configuration
     (keyboard-layout keyboard-layout)
     (server-arguments '("-listen" "tcp"))))))))
--8<---------------cut here---------------end--------------->8---

and now use the attached exwm, which works OK for me.

Greetings,
Janneke

[exwm (application/octet-stream, attachment)]
[Message part 3 (text/plain, inline)]
-- 
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

Information forwarded to bug-guix <at> gnu.org:
bug#48223; Package guix. (Sat, 08 May 2021 09:27:02 GMT) Full text and rfc822 format available.

Message #14 received at 48223 <at> debbugs.gnu.org (full text, mbox):

From: Leo Prikler <leo.prikler <at> student.tugraz.at>
To: Jan Nieuwenhuizen <janneke <at> gnu.org>
Cc: 48223 <at> debbugs.gnu.org
Subject: Re: bug#48223: EXWM knows nothing about Guix profiles
Date: Sat, 08 May 2021 11:26:03 +0200
Hi,

Am Samstag, den 08.05.2021, 10:56 +0200 schrieb Jan Nieuwenhuizen:
> > Leo Prikler <leo.prikler <at> student.tugraz.at> writes:
> 
> Hello again,
> 
> > > I think the launcher that we install in the install-xsession does
> > > not
> > > do sufficient work to set up the environment variables of the
> > > session
> > > appropriately.  In particular, I think it should source
> > > /etc/profile
> > > prior to running Emacs.
> > > 
> > > WDYT?
> > 
> > I think this is a very good idea.
> 
> To follow-up on this: at first glance sourcing /etc/profile seemed to
> fix my problem.  However, I am calling some scripts from Emacs that
> need
> my ~/.bash_profile to be sourced too.
I don't think sourcing ~/.bash_profile will be portable.  As a zsh
user, I'm putting stuff in .zprofile instead, so all my hacks will be
obsoleted if we start mandating bash_profile.  The "portable"
alternative, that is $HOME/.profile does not exist in our current
skeletons.

Putting this aside, I think it'd also be possible to duplicate whatever
settings you might have put into ~/.bash_profile in ~/.exwm.

> So this got me wondering, something has definately changed here.
> Before, this used to work OOTB.  Any ideas what may have changed?
One thing, that changed is Emacs itself.  In particular, we reverted to
ELPA sub-directories for structure, but keeping a hopefully backwards-
compatible hack in subdirs.el
However, I doubt, that this is the only thing making a difference
between now and then.  Since EMACSLOADPATH is wrong, it would seem,
that there is no profile evaluation whatsoever going on, and I'd argue
this has already been the case before, I just don't know when it
changed or whether things just happened to work "OOTB" despite this.

I also think, that any session should be run under the user's shell
with --login.  As far as I can tell, that happens for GNOME under GDM –
executing getenv for a variable that I only set in my .zprofile I see
the correct value – why does it not happen for EXWM under slim?

Greetings,
Leo





This bug report was last modified 2 years and 354 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.