6 ms·
Neomacs: Structural Lisp IDE/browser/computing environment
- az09mugen 2y agoWhile I'm not an Emacs user I like the philosophy of it. And I like text editors. That said, I use orgmode on android (orgzly) and used it on sublime text (orgextended), that's a nice feature. I know one guy who uses emacs and when I heard of lem (https://github.com/lem-project/lem https://github.com/lem-project/lem) I told him. (Lem is also in CL) He was quite enthusiastic of it, but 2 or 3 things were missing at the time, the first of all you guessed it, it's org-mode, second was magit but he could use lem without it and finally it was a plugin manager (but we agreed it is a lot of work). I don't know what are your plans but I hope I could give you some ideas.
- kscarlet 2y agoThanks for your input! I don't org-mode myself but I know it's a killer feature for many. In fact, I think if someone commit to it, they can likely build an even more powerful version of org-mode with a lot less and cleaner code, because Neomacs use arbitrary HTML DOM as its editing representation, and no need for regex/text-property hack. See https://github.com/neomacs-project/neomacs/issues/53 https://github.com/neomacs-project/neomacs/issues/53 for an example. That being said, Neomacs definitely need a user base and eco-system for that to happen, but I hope so! As for magit, I wish one day Neomacs get one as well. For now one can use Neomacs's built in terminal for git.
- vindarel 2y ago> magit Since last year we have what's a start of Magit in Lem: https://lem-project.github.io/usage/usage/#version-control-with-lemlegit-git-experimental https://lem-project.github.io/usage/usage/#version-control-w... It has a status buffer, it can push/pull/commit, stage files and parts of hunks (no arbitrary region yet), list commits (with a handy pagination), manage stashes, do an interactive rebase (no reword yet). It's fast for big codebases (linux kernel) as it doesn't call the git binary a lot. We watch the performance and we have plans to read git blobs natively. I contributed it (https://lisp-journey.gitlab.io/blog/oh-no-i-started-a-magit-like-plugin-for-the-lem-editor/ https://lisp-journey.gitlab.io/blog/oh-no-i-started-a-magit-...). Working on it is a pleasure as the Lem codebase is very clean and introspectable (and specially so through Lem).
- mark_l_watson 2y agoI like the name ‘legit’ for your project and I look forward to trying it. To be honest, I live in regular Emacs for all productivity things, but I have also spent a fair amount of time using Lem when coding in Common Lisp. Such a cool project!
- Y_Y 2y agoIf you're not using the Orgzly Revived fork then I recommend giving it a try.
- Y_Y 2y agoThis is going to be a hard sell: > Neomacs relies on Electron... Tired flamebait aside, this looks cool. I'd like to know how it's different from Lem and Emacs-NG. I gladly welcome "macsen" and note some other great programs in the tradition: Emacs (OG) Genera (OS) Climacs (CL) TeXmacs (DTP) Honorable mention: Plan 9, Pharo, gforth. Anything I missed? This store or using the computer is vastly more satisfying than rigid, compiled button-driven interfaces and makes me feel like my computer is much more a "bicycle for the mind" than a on-rails haunted house ride for the mind. I'm using Spacemacs with EXWM as my "desktop" in Guix these days and loving it.
- kscarlet 2y ago> how it's different from Lem and Emacs-NG. Neomacs is not a GNU Emacs clone. It changes the fundamental edited model from text (with text properties) to structured document (i.e. trees). Things done with ASCII art hack and things impossible in Emacs can now be done effortlessly in Neomacs. > > Neomacs relies on Electron I wish not either, but it's the pragmatic option for now, to make things work. There's no reason someone couldn’t port it to, say Tauri, or even build a browser engine in Lisp, given enough effort. > some other great programs Yes! They inspire me a lot and I learn from them!
- cmrdporcupine 2y agoCould it not use a linked web view via dll to webkit on Linux (and Mac) and embedded Edge webview on Windows? Why the whole electron bundling?
- kscarlet 2y agoProbably, it's just someone made a pretty good Electron binding for Common Lisp (https://github.com/cermaic/ceramic https://github.com/cermaic/ceramic), so I used it instead of inventing my own wheel.
- sourcepluck 2y ago> There's no reason someone couldn’t port it to, say Tauri, or even build a browser engine in Lisp Have there ever been browser engines done in Lisp? Don't think I've seen anything like that. Nyxt springs to mind, I wonder if they're eventually planning to attempt one.
- a1o 2y agoI get that the name is similar to neovim but for a second I thought it was the nomacs image viewer
- stevekemp 2y agoThis is a hard sell: sudo chown root electron/chrome-sandbox sudo chmod 4755 electron/chrome-sandbox Installing a new setuid root binary? I guess that the sandbox process is small, and not really electron, but just hearing "electron" and "setuid" in the same sentence is enough to make me run away!
- kscarlet 2y agoIt's known issue for any application that uses Electron but don't have enough money to get Ubuntu to whitelist it (I believe?) I heard that this can be worked around if someone submit a package to the distro. I have no experience in packaging for distros, and help is welcomed!
- nine_k 2y agoWhat happens uf you don't setuid it?
- mdaniel 2y ago> I have no experience in packaging for distros, and help is welcomed! Do you have an issue tracking what is currently happening and what you want to happen instead? I'm really perplexed by your talk about "having enough money for allowlisting" because I have never heard of anyone paying a distro any amount of money for any purpose, and that's not even getting into the obvious fact that Ubuntu isn't the only distro out there
- joshcho 2y agoWhat does neomacs offer that emacs + lispy can't? https://github.com/abo-abo/lispy https://github.com/abo-abo/lispy
- kscarlet 2y agoThey're not the same level things. Neomacs has an Emacs-y browser inside it, for example. It is also possible to embed arbitrary content in buffer (multiple modes, real tables, canvas, etc) while Emacs is restricted to plain text plus some display property hack to support image. It's possible to have a much more powerful org-mode in Neomacs, although we definitely need a user base and contributors to make that happen... Currently, the API and the model is there, so is the possibility.
- TacticalCoder 2y ago> Neomacs relies on Electron which has known permission issues on some Linux distros. Try the following workaround: > sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 > sudo sysctl kernel.unprivileged_userns_clone=1 WTF? What in the world is wrong with Electron? Why is this needed and why is it only needed on some distro? Is that for all Electron apps?
- kscarlet 2y agoI think so unless the Electron app is rich enough to get them whitelisted. Or running with sandbox disabled, but that is even more insecure and I don't feel like to make it default.
- torwag2 2y agoNowadays I'm a normal Emacs user. Was a heavy emacs and org-mode user some years ago, with hundred of lines of customized lisp code to tweak Emacs. That said, looking at the repro, I still didn't get exactly what Neomacs is actually doing. I would really appreciate some short Screencast, a bit more introduction, some examples, to get an idea what we are looking at. Maybe it is just me, but I feel that Neomacs is great and might get a user base, if potential users been able to understand within a few seconds what they are looking at. You know, our attention span went downhill since YouTube shorts and TikTok videos
- kscarlet 2y agoSure! Screencast sounds like a good idea. Are you able to get Neomacs running? If so, the prebuilt one will start up with a intro buffer which is a good place to start (locally built one will need `M-x manual` to build the manual). There's also an online version at https://neomacs-project.github.io/doc/intro.html https://neomacs-project.github.io/doc/intro.html
- mdaniel 2y agoThe license-less submissions have really ramped up recently :-( Also https://github.com/neomacs-project/neomacs#:~:text=Neomacs%20relies%20on%20Electron https://github.com/neomacs-project/neomacs#:~:text=Neomacs%2...
- kscarlet 2y agoThanks for noting this! I added a copy of the GPL license.