This started as a post to ask a question I was stumped with. But in the process of writing the question, I solved the problem. rubber ducked myself without realizing it.
Anyway, GNU Emacs is cool, and I'm deep in the hole now. I might be able to make the transition to using it as my IDE at some point, but that seems to be involved, with language servers and all that.
One thing that was driving me a little crazy was the window behavior. I was able to solve that with a plugin called window-purpose which allows you to assign modes and buffers to a specific "purpose" and then lock the window into only showing new buffers based on that information. So I can have a main editing window where all editable file buffers appear, and a sidebar with some specific buffers locked into place. It can also save that window configuration and load it later. Which I use to standardize the window configuration every time I open Emacs.
Sadly, the Emacs community on Reddit is rife with AI content for some reason, and thus it is a pretty useless source of information. I don't really understand the subs fascination with running LLMs inside of Emacs. But I digress.
Org-Mode is pretty dope, and Org-Roam is even doper. I've used things like Logseq pretty extensively, but I eventually stopped using it as much, mainly because you're locked into using their interface/editor for the whole thing. It's nice being able to use Emacs for other text editing, and then jumping into an Org file and gaining all that functionality automatically.
I also wasn't a huge fan of the way the markdown files were generated in Logseq, where every file is just a massive unordered list on the backend. Now, I get that Org-Mode and Org-Roam are effectively the same thing, using a header hierarchy, but it feels a lot more deliberate, and you can enter text outside that hierarchy since you get to decide when to use the hierarchy or not.
In Logseq you're always working inside the hierarchy, which can be annoying when working externally and creating markdown files outside the Logseq application, intending them to be loaded by the system. What makes Emacs different is that I have access to all the underlying functions right inside the editor. I could use Emacs to extend Emacs' own functionality, life, while I'm using Emacs.
If I wanted to interact with an API endpoint and take it's output and feed it through an Org-Mode capture template, it likely wouldn't hard. Doing that in Logseq requires writing a plugin using its Javascript API in an external editor, and packaging it up, loading it into the software, testing within the software in developer mode, then going back to my code editor to address errors and refine the tool. The development loop is just way more cumbersome.
Anyway, I could go on and on. Is anyone else using Emacs here?
never used it but I've always had a fondness for LISP (not that I actually use it for anything...). The extensibility sounds really cool, but idk what I'd do with it. I use neovim currently if we want to get a struggle sesh goin
If you wanted to change that and were looking to tinker, you should check out the Guix distro; I switched largely for the chance to use Guile Scheme even more than I already was.
Do you find yourself running into any limits for package availability with guix? I'm a bit invested in NixOS, but have contemplated jumping over to guix land. I'm pretty novice though, so with NixOS I really appreciate that a lot of modules have already been written not only for packaging, but for using the packages in systemd services. I also like using deploy-rs to update all my machines at the same time.
Not terribly though (as with any more niche project) there are always pockets where this is the case.
I remember needing to verify that Guix had everything I needed or I was able to get said things, in some way, before switching (including things like the full Linux kernel and not just Linux Libre); I was able for, basically, 99% of everything. I still ended up having to package a few bits of software myself (you can look up Guix packages at https://packages.guix.gnu.org/).
That said, – while I occasionally run across a package I was curious about but hasn't been packaged, yet – all my necessary stuff are pretty much there. And, while I've never used Nix, a novel experience (for me), when I switched to Guix, was being able to actually package stuff myself; there's modules which package build systems (e.g. C, Rust, Python, Meson, Java, etc.) which take a lot of the knowledge out from you being responsible for. Again, can't compare against Nix but it sounds similar to what you're describing. And there are predefined services to use packages with the Shepherd service manager (since Guix doesn't use
systemd
); I, likewise, find them helpful.I dunno if all this info.'s useful but feel free to ask me any further question (if you want); I do really love the OS so I'm always happy to help others at least try it out, even if it isn't for them (in the end).