Navigate this repo as a visual map
This web of projects documents how you can use the GNU operating system in order to create a futuristic Lisp workstation, with Linux as its kernel, and a rich Lisp user space on top.
Using org-roam-ui, you can visually navigate how these projects work together to build a Lisp workstation.
You can have your user space tools written in Emacs Lisp, your window management handled by Common Lisp, and your system configuration declaratively written in Guile Scheme.
By combining GNU Guix's high-performance computing emphasis with advanced Clojure parallel computing libraries, one ends up with a powerful workstation for expressing complex workloads in elegant forms.
Secure yourself against malevolent state actors and never trust someone else's unverified binaries again, as you can build from the source all the way down.
Lisp user space provides an introspective, hackable, and transactionable operating system that can be modified live in a REPL.
Lisp user space is centered on text-based user interfaces instead of graphical user interfaces, and can be used without a mouse, which makes it easier to use for people living with disabilities as well as power users.
Emacs has text-based keyboard-driven applications for all the major desktop environment functions, such as window management, file management, web browsing, mail, streaming music, chatting, shell management, version control, and life organization. All these tools can be modified and adjusted live as you use them.
If in POSIX everything is truly a file, then the logical conclusion is that the ideal POSIX "desktop environment" should be a file editor, and the only editor that can function as such is GNU Emacs.
The operating system is mostly defined declaratively in Scheme Lisp and the applications are mostly coded imperatively in Emacs Lisp. Both can be inspected and hacked live in a REPL, making it a pure expression of the libre software ethic, and an incredibly versatile tool for a skilled programmer.
It's remarkably easy to get a Lisp user space setup on top of Linux:
- Install the Guix GNU/Linux distribution
- Only install nonguix if you truly require additional hardware support
- Install Emacs (
guix install emacs
) - Install Geiser (
M-x package-install geiser-guile
) and SLY (M-x package-install sly
) - Install a Lisp window manager like exwm (
M-x package-install exwm
) or StumpWM (guix install stumpwm
) - Bootstrap your window manager (exwm, StumpWM)
- Boot into your window manager (exwm, StumpWM)