https://github.com/neomacs-project/neomacs
Structural Lisp IDE/browser/computing environment
https://github.com/neomacs-project/neomacs
Last synced: 6 months ago
JSON representation
Structural Lisp IDE/browser/computing environment
- Host: GitHub
- URL: https://github.com/neomacs-project/neomacs
- Owner: neomacs-project
- Created: 2024-09-27T03:25:33.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-24T11:17:47.000Z (about 1 year ago)
- Last Synced: 2024-11-24T11:25:56.875Z (about 1 year ago)
- Language: Common Lisp
- Homepage:
- Size: 2.52 MB
- Stars: 80
- Watchers: 4
- Forks: 2
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-cl-software - Neomacs - 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. GPL3. (Applications / Editors)
README
> 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 `quickload`ed 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

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


# 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!