I have been running EXWM (emacs window manager) on top of GNU Guix for a few weeks now, and while it’s not perfect, it’s the closest I’ve come yet. I also use eshell as my default shell, so except for when running icecat (Firefox), next (Common Lisp based webbrowser), mpv for the odd video, or alacrity when eshell is not enough, everything is just emacs buffers and it’s actually great.