Skip to content
View enzuru's full-sized avatar

Block or report enzuru

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
enzuru/README.md

Building a futuristic Lisp workstation

A modern Lisp machine for the ultimate programming experience

I am currently working on the GNU operating system in order to create a secure libre Lisp workstation.

By combining:

...one obtains a computing style and programming environment that can be referred to as Lisp user space. This is a modern iteration of the Lisp machines of yore.

Any of the system's application code can be made available to you at any time. You can be aware of all the code that is running on your machine, which puts GNU among the most secure operating systems on Earth.

High-performance parallel computing

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.

Trustless full-source bootstrap

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.

Hack your operating system live

Lisp user space provides an introspective, hackable, and transactionable operating system that can be modified live in a REPL.

Text-based and keyboard-driven

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.

Perfect complement to POSIX

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.

Respects your freedom

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.

Follow me!

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.

Get Lisp user space running tonight

Are you interested in having an advanced Lisp-based workstation that you can hack live to suit your needs? Getting started is easy:

  • 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)

Pinned Loading

  1. stumpwm/stumpwm-contrib stumpwm/stumpwm-contrib Public

    Extension Modules for StumpWM

    Common Lisp 228 137

  2. influxdata/helm-charts influxdata/helm-charts Public

    Official Helm Chart Repository for InfluxData Applications

    Mustache 231 330

  3. mcrute/pydora mcrute/pydora Public

    Pandora API Client and Command Line Player written in Python

    Python 63 19

  4. .emacs.d .emacs.d Public

    A maximalist Emacs config tracking the latest trends

    Emacs Lisp 72 3

  5. profiles profiles Public

    Guix profiles and Scheme code for setting up a Lisp-based workstation on top of GNU Guix

    Scheme 5

  6. home home Public

    My dotfiles, scripts, and Lisp code for StumpWM, SBCL, Slynk, etc

    Common Lisp 6