Cobbling together a desktop environment doesn’t appeal to me. Reusing
GNOME lets me focus on what does. GDM launches a rootless Xorg,
sources .profile, unlocks the keyring, etc.
To get started, run:
git clone https://github.com/Koekelas/exwm-gdm.gitThen, to install, provided /usr and /etc are correct (they are on
Ubuntu, Arch Linux and likely other GNU/Linux distributions), run from
this directory:
make install prefix=/usr sysconfdir=/etcFinally, in Emacs, evaluate (package-install 'exwm) and add
(exwm-initialize) to the Emacs initialization file. Now, when in GDM,
after choosing a user, click the gear and choose EXWM.
Create $XDG_CONFIG_DIR/exwm/exwmrc (likely ~/.config/exwm/exwmrc), a
shell script, for example:
# Set SSH agent (GNOME Keyring Daemon)
eval $(gnome-keyring-daemon -s)
export SSH_AUTH_SOCK
# Launch Emacs
exec emacsCheck if $XDG_CURRENT_DESKTOP equals EXWM, for example:
(when (string= (getenv "XDG_CURRENT_DESKTOP") "EXWM")
(exwm-enable))