I am currently working on 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.
Some projects that I contribute to (or plan to):
Most of my user space tools are written in Emacs Lisp, with my window management handled by Common Lisp, and my system configuration declaratively written in Guile.
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.
I continue to progress on publishing tools and documentation for this rich computing style.
Follow me on GitHub to keep track of my contributions to various Lisp user space codebases! Development on the GNU operating system itself is limited to the official mailing lists for each project. And follow me on Medium in order to follow my latest announcements and tutorials.
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)