bug#56661: EMACSLOADPATH not set when using Guix System + Guix Home + SDDM + Mate

2022-07-22 Thread Andrew Tropin
On 2022-07-22 12:44, Maxime Devos wrote:

> On 22-07-2022 12:24, Maxime Devos wrote:
>> retitle 56661 SDDM does not do the equivalent of 'login shell 
>> --login', unlike other login managers
>> thanks
>>
>> A digged a little, and found  that:
>>
>> For GDM, things work, for SDDM, they don't.
>>
>> There is a 'xinitrc' procedure in gnu/services/xorg.scm that generates 
>> a configuration file that has a fallback .xsession that does a 
>> --login. This is used by gdm-wayland-session-wrapper, 
>>  and slim-shepherd-service.  However, nothing 
>> similar appears to be done for SDDM.  So it appears that the SDDM 
>> service needs to be tweaked to use xinitrc or such.

The idea looks good to me.

>
> It appears that SDDM supports xinitrc files, but it looks for them
> (see data/scripts/Xsession) in $HOME/.xsessionrc and
> /etc/X11/xinit/xinitrc.d, which do not exist in Guix. There is no
> option for overriding the xinitrc.  However, it is possible to
> override the Xsession script used, so we can give SDDM a modified
> Xsession script that uses Guix' xinitrc. I'll give that a try.

Just a note: .xsessionrc is debian-specific IIRC

-- 
Best regards,
Andrew Tropin


signature.asc
Description: PGP signature


bug#56661: EMACSLOADPATH not set when using Guix System + Guix Home + SDDM + Mate

2022-07-22 Thread Maxime Devos


On 22-07-2022 12:24, Maxime Devos wrote:
retitle 56661 SDDM does not do the equivalent of 'login shell 
--login', unlike other login managers

thanks

A digged a little, and found  that:

For GDM, things work, for SDDM, they don't.

There is a 'xinitrc' procedure in gnu/services/xorg.scm that generates 
a configuration file that has a fallback .xsession that does a 
--login. This is used by gdm-wayland-session-wrapper, 
 and slim-shepherd-service.  However, nothing 
similar appears to be done for SDDM.  So it appears that the SDDM 
service needs to be tweaked to use xinitrc or such.


It appears that SDDM supports xinitrc files, but it looks for them (see 
data/scripts/Xsession) in $HOME/.xsessionrc and 
/etc/X11/xinit/xinitrc.d, which do not exist in Guix. There is no option 
for overriding the xinitrc.  However, it is possible to override the 
Xsession script used, so we can give SDDM a modified Xsession script 
that uses Guix' xinitrc. I'll give that a try.


Greetings,
Maxime



OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


bug#56661: EMACSLOADPATH not set when using Guix System + Guix Home + SDDM + Mate

2022-07-22 Thread Maxime Devos
retitle 56661 SDDM does not do the equivalent of 'login shell --login', 
unlike other login managers

thanks

A digged a little, and found  that:

For GDM, things work, for SDDM, they don't.

There is a 'xinitrc' procedure in gnu/services/xorg.scm that generates a 
configuration file that has a fallback .xsession that does a --login. 
This is used by gdm-wayland-session-wrapper,  and 
slim-shepherd-service.  However, nothing similar appears to be done for 
SDDM.  So it appears that the SDDM service needs to be tweaked to use 
xinitrc or such.


Greetings,
Maxime



OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


bug#56661: EMACSLOADPATH not set when using Guix System + Guix Home + SDDM + Mate

2022-07-22 Thread Maxime Devos


On 22-07-2022 11:28, Maxime Devos wrote:
However, possibly this is a bug in the setup of the login manager I 
used (previously I used another one), so I will try a different login 
manager as possibly Guix Home is not related here. 


For GDM, the issue does not occur (and I don't have to create ~/.xsession).

Greetings,
Maxime.



OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


bug#56661: EMACSLOADPATH not set when using Guix System + Guix Home + SDDM + Mate

2022-07-22 Thread Maxime Devos


On 20-07-2022 19:47, Andrew Tropin wrote:

I'm not sure how your login/display manager works, but for X11 session
sourcing ~/.profile from ~/.xsession should do the trick.

Put the following content to your ~/.xsession:
--8<---cut here---start->8---
. ~/.profile
--8<---cut here---end--->8---

Or add the following service to your home environment:
--8<---cut here---start->8---
(simple-service
  'xsession-init-file
  home-files-service-type
  `((".xsession" ,(plain-file "xsession" ". ~/.profile"
--8<---cut here---end--->8---


Tweaking .xsession was not necessary in my previous Guix System without 
Home setup, so this seems like a work-around to me, not a solution.


However, possibly this is a bug in the setup of the login manager I used 
(previously I used another one), so I will try a different login manager 
as possibly Guix Home is not related here.



They do.  Also, shouldn't ~/.bash_profile point to
~/.guix-home/files/.bash_profile instead of directly to the store, to be
more atomic (unrelated to #56661 though), like done for symlinks in /etc
in Guix System?
No.

Activation is not atomic process anyway.
I know it is not atomic. That's the issue I noted, an issue that seems 
to have a partial solution I also noted.


With current file system APIs, it cannot be made fully atomic, but as 
done for Guix System things, it can at least be made _partially_ atomic 
-- i.e., when no files are added or removed relative to the previous 
generation, the symlink switching is atomic.


(A form of 'Perfect enemy of the good' -- if perfect (= 100% atomic) 
cannot be found, then that's no reason to throw away good (= mostly 
atomic).)


(Also an instance of is-ought: it is not atomic, but that doesn't mean 
it should be non-atomic.)


Greetings,
Maxime.



OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


bug#56661: EMACSLOADPATH not set when using Guix System + Guix Home + SDDM + Mate

2022-07-20 Thread Maxime Devos
retitle 56661 EMACSLOADPATH not set when using Guix System + Guix Home + 
SDDM + Mate


Correction, I am using SDDM, not SLIM.



OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature