Skip to content

neomacs-project/neomacs

Folders and files

NameName
Last commit message
Last commit date
Dec 11, 2024
Dec 25, 2024
Nov 26, 2024
Jan 23, 2025
Dec 17, 2024
Nov 30, 2024
Nov 25, 2024
Dec 5, 2024
Nov 17, 2024
Nov 14, 2024
Feb 7, 2025
Feb 17, 2025
Feb 17, 2025
Nov 9, 2024
Dec 4, 2024
Dec 17, 2024
Nov 17, 2024
Dec 30, 2024
Dec 21, 2024
Dec 26, 2024
Dec 5, 2024
Nov 16, 2024
Dec 5, 2024
Feb 17, 2025
Nov 17, 2024
Jan 11, 2025
Dec 4, 2024
Dec 9, 2024
Dec 11, 2024
Nov 19, 2024
Dec 5, 2024
Dec 3, 2024
Nov 1, 2024
Jan 30, 2025
Nov 18, 2024
Dec 25, 2024
Nov 15, 2024

Repository files navigation

The fractal flowers and recursive roots: the most lovely hack I've seen. -- God wrote in Lisp, by Bob Kanefsky and Julia Ecklar

Neomacs is a computing environment based on structural editing. Neomacs aims to become the Emacs of trees. Currently, Neomacs is a usable Lisp IDE and keyboard-driven browser.

Get started

Prebuilt binary for x64 Linux: https://github.com/neomacs-project/neomacs/releases/

Documentation: M-x manual. There is also an online version at https://neomacs-project.github.io/doc/

To build locally, make sure you have SBCL, quicklisp, and the Ultralisp dist (if you haven't done so, (ql-dist:install-dist "http://dist.ultralisp.org/" :prompt nil)). Clone this repo and https://github.com/ceramic/ceramic under ~/quicklisp/local-projects/. Then (ql:quickload "neomacs") and (neomacs:start).

To build the terminal emulator (currently Linux only), clone https://github.com/neomacs-project/3bst under ~/quicklisp/local-projects/ then (ql:quickload "neomacs/term").

Neomacs relies on Electron which has known permission issues on some Linux distros. Try the following workaround:

  1. sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
  2. sudo sysctl kernel.unprivileged_userns_clone=1
  3. sudo chown root electron/chrome-sandbox && sudo chmod 4755 electron/chrome-sandbox For prebuilt binary, run this under bin directory from uncompressing the archive. For quickloaded Neomacs, run this under ~/.ceramic.

If you are troubleshooting some Neomacs bug, (neomacs:start nil) might be helpful. It turns off built-in debugger and stream redirections and hand it over to external IDE (e.g. SLIME).

Screenshots

Neomacs

Two built-in themes, accessible via M-x apply-theme: Neomacs Neomacs

Contributing

If you have any question, suggestions, ideas, crazy or not, feel free to post them in the issues or discussions! If you have a patch, don't hesitate to open a PR! We welcome creativity!