bug#56661: EMACSLOADPATH not set when using Guix System + Guix Home + SDDM + Mate
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
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
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
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
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
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