this post was submitted on 20 Jun 2025
35 points (100.0% liked)

libre

10029 readers
6 users here now

Welcome to libre

A comm dedicated to the fight for free software with an anti-capitalist perspective.

The struggle for libre computing cannot be disentangled from other forms of socialist reform. One must be willing to reject proprietary software as fiercely as they would reject capitalism. Luckily, we are not alone.

libretion

Resources

  1. Free Software, Free Society provides an excellent primer in the origins and theory around free software and the GNU Project, the pioneers of the Free Software Movement.
  2. Switch to GNU/Linux! If you're still using Windows in $CURRENT_YEAR, take Linux Mint for a spin. If you're ready to take the plunge, flock to Fedora! If you're a computer hobbyist and love DIY, use Arch, NixOS or the many, many other offerings out there.

Rules

  1. Be on topic: Posts should be about free software and other hacktivst struggles. Topics about general tech news should be in the technology comm or programming comm. That doesn't mean all posts have to be serious though, memes are welcome!
  2. Avoid using misleading terms/speading misinformation: Here's a great article about what those words are. In short, try to avoid parroting common Techbro lingo and topics.
  3. Avoid being confrontational: People are in different stages of liberating their computing, focus on informing rather than accusing. Debatebro nonsense is not tolerated.
  4. All site-wide rules still apply

Artwork

founded 4 years ago
MODERATORS
 

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. classic 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?

top 20 comments
sorted by: hot top controversial new old
[–] Owl@hexbear.net 25 points 1 week ago

I can't wait until this site converts enough people to Linux that we can have a proper vim vs emacs struggle session.

[–] devils_dust@hexbear.net 13 points 1 week ago (2 children)

Also using Emacs. If you are a dev magit is another must have. Even if there was a decent substitute for it (which I doubt - saw a lot of IDE churn and Emacs was very capable of keeping up with the times) I'd still use it just to use it and Org-mode.

[–] PorkrollPosadist@hexbear.net 12 points 1 week ago

Magit bestows godlike powers upon anybody who wields it.

[–] hello_hello@hexbear.net 8 points 1 week ago* (last edited 1 week ago)

I use emacs as the bootloader for magit at this point. Probably a top 10 best computer programs invented by humans as it's transformed my workflow (referring to both emacs and magit)

[–] PorkrollPosadist@hexbear.net 11 points 1 week ago

I use emacs for anything more complicated than tweaking a line in a config file

[–] Edie@hexbear.net 8 points 1 week ago (2 children)

I use spacemacs, which is using emacs as a medium to summon the dark lord (vim)

[–] RedWizard@hexbear.net 6 points 1 week ago

I'm not using spacemacs but I do have evil mode installed. Really jumping in head first. After learning the difference between emacs and vi style keybindings vi made a lot more sense.

[–] Chump@hexbear.net 5 points 1 week ago (1 children)

I started out with spacemacs but have since moved to Doom, and kinda miss the spacey boi. For some reason fontify sends my session to a complete crawl, and it's quite difficult to fully remove. Don't recall that being the case in spacemacs, so I may be moving back there in short order

[–] Edie@hexbear.net 4 points 1 week ago

I used doom shortly, but... idk? I guess I just like spacemacs more.

[–] semioticbreakdown@hexbear.net 4 points 1 week ago (1 children)

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

[–] tomenzgg@midwest.social 4 points 1 week ago (1 children)

(not that I actually use it for anything...)

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.

[–] wheresmysurplusvalue@hexbear.net 2 points 1 week ago (1 children)

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.

[–] tomenzgg@midwest.social 2 points 1 week ago

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

[–] Are_Euclidding_Me@hexbear.net 4 points 1 week ago

Emacs is extremely cool! I used spacemacs for years, but recently I've gone back to neovim. For whatever reason (neo)vim just clicks better for me than emacs. It might be because it's actually a simpler program, and I do miss a little bit of the full-featured nature of emacs, but my config is clean and feels like mine in a way I never quite managed with spacemacs.

I do think you'd have an easier time with setting up a language server than you're expecting. I know I had one set up for LaTeX and it really wasn't very hard to do. That being said, I definitely find neovim easier in this regard! Setting up the godot language server was a breeze! (I haven't set up a LaTeX language server, because the vimlatex plugin exists, which is better than any LaTeX language server.)

[–] hello_hello@hexbear.net 3 points 1 week ago (1 children)

The development loop is just way more cumbersome.

I think Emacs timeless innovation is that the "Dev loop" is gone and replaced with REPL-driven interaction (interactive programming)

I swear interactive programming is the most natural and human-like way to create programs and emacs and lisp have spoiled me on this.

There is no arbitrary degree of separation between you and the program. VScode has massive overhead, Zed is a fat Rust binary, both programs have to shell out an "API" for you to abide by (they also drink the ai kool aid but thats another issue)

but that seems to be involved, with language servers and all that.

Not really, there's a built in LSP interface with eglot and there's also native tree-sitter support that can replace regex based highlighting. Its as easy as making sure the LSP binary is in your PATH and that the tree sitter grammar is also accessible.

[–] RedWizard@hexbear.net 3 points 1 week ago* (last edited 1 week ago) (1 children)

Yeah I've learned so much from just totally fucking up my init.el file and figuring things out. I'm going to dig into learning LISP. I managed to get an implementation of LanguageTool set up (languagetool.el). I'm always fighting against the oddities of Windows, which none of these tools have instructions for.

But being able to hit M : and just evaluate code right in the editor is so nice. Much of my programing chops is rooted in powershell and the workflow is very similar.

[–] hello_hello@hexbear.net 2 points 1 week ago (1 children)

Running emacs ontop of windows is pretty tough. Maybe using emacs within WSL could help that.

I know in windows there's no posix ls command so emacs has to emulate it in lisp.

[–] RedWizard@hexbear.net 2 points 1 week ago

I tried to get powershell working out of curiosity but it was a disaster. Eshell is actually good enough for most tasks I've learned. But yeah, emacs gets mad of you try replacing the shell with cmd, it comes with a shell that looks a lot line cmd, but isn't? I'm not in front if it right now, but its done kind of middle man application.

One of the weirdest things I had to do was change where the home directory was for my profile in my environment variables. ~ would default to some appdata folder instead of my c:/users/username folder.

It's been fine most of the time. But you have to put in the extra work of adding things to your path manually (like JDK for running the languagetool-server.jar file) because Windows doesn't think you would ever want to run an application from the command line...

Winget doesn't make it any easier either. Nothing is standardized. I only use emacs on windows because I use windows at work you manage our domain.

[–] Aggravationstation@feddit.uk 2 points 1 week ago (1 children)
[–] HexReplyBot@hexbear.net 2 points 1 week ago

I found a YouTube link in your comment. Here are links to the same video on alternative frontends that protect your privacy: