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.git
Then, 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=/etc
Finally, 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 emacs
Check if $XDG_CURRENT_DESKTOP
equals EXWM
, for example:
(when (string= (getenv "XDG_CURRENT_DESKTOP") "EXWM")
(exwm-enable))