Remix.run Logo
tiu 7 days ago

Off topic but without going RTFM, is there a guide that goes through setting up emacs 'with the modern way'? I have done it before but in a mish-mash way where I want something that tells how to go from configuring comp-speed, elpaca, eglot, auto treesitter etc

green7ea 7 days ago | parent | next [-]

I somewhat recently settled on using use-package and straight — I highly recommend this approach. You can get pretty far using what comes with emacs and adding a bit more.

You can see how I do it in my emacs config[1] but it's a little bit special with meow[2] for a colemak keyboard. There's a youtube channel that I've skimmed[3] that helped me modernize my config by relying more on emacs' basic features.

[1] https://github.com/green7ea/dotfiles/tree/master/.emacs.d [2] https://github.com/meow-edit/meow [3] https://www.youtube.com/c/SystemCrafters

zzygan 7 days ago | parent | prev | next [-]

There is a few solid prepackaged systems around now. Doom emacs is very comprehensive. Similar systems also exist rather than starting from nothing.

Elisp is a programming language that supports many ways to do things so there is lots of ways people do things.

noosphr 7 days ago | parent | prev | next [-]

Keep the defaults until you need something, then you install it.

Trying to make emacs into VS Code in 2025 is as stupid as trying to make emacs into eclipse in 2005 or notepad in 1985.

turboponyy 2 days ago | parent | next [-]

I have Emacs set up like VSCode. I feel it surpasses VSCode, even because it's Emacs.

nine_k 7 days ago | parent | prev [-]

Modern Emacs has pretty good defaults. Still, to get a much better quality of life, one usually has to manually install magit, treemacs, yasnippet, company-mode, ace-window, vertico + orderless (or similar), relevant programming language modes, and language servers for them.

noosphr 7 days ago | parent [-]

What you actually mean:

>I have a set of packages I find useful. You may not. Install them anyway and waste 6 months trying to understand how to use things that you don't yet need.

I have a whole set packages and DE improvements I've install/written for literate programming. I don't suggest everyone install noweb and friends for better productivity despite how useful they are.

nine_k 6 days ago | parent [-]

Literate programming is niche, even more than using Emacs. Using git is mainstream, and magit is considered one of the best git clients ever; some people even install and use Emacs exclusively for running it, not for text editing.

kreyenborgi 7 days ago | parent | prev | next [-]

One way is to start with bedrock https://git.sr.ht/~ashton314/emacs-bedrock You will understand your config. Packages like elpaca and auto treesitter, just follow their readme's.

Or if you don't feel like learning the details, go with doom.

dorian-graph 7 days ago | parent [-]

There's also https://github.com/MiniApollo/kickstart.emacs.

myaccountonhn 7 days ago | parent | prev | next [-]

When I was using emacs I did it just using the internal stuff except for avy. You can get very far without extensions, though you may need lsp mode if you do frontend work.

setopt 7 days ago | parent [-]

Indeed you can get quite far with only the built-in modes. One pain point though is the lack of many major modes, for example there’s no built-in markdown-mode, json-mode, julia-mode, or typst-mode, to mention a few.

I recently did try to run Emacs without any packages for a while. To my surprise, AUCTeX was not one of the packages I missed, the built-in latex-mode works well. I did miss CDLaTeX though.

skydhash 7 days ago | parent | prev [-]

What is the modern way? Emacs is self documented like vim. Vim has the :help command, emacs have the Control + h prefix (or <f1> for an overview). You can start with a minimal config like Emacs Bedrock or Prelude, and then learn about those options first.

But the manual is very well written and worth the read. Emacs has its own culture, and the sooner you learn the conventions, the smoother your path will be.

setopt 7 days ago | parent [-]

> What is the modern way?

Pretty sure they mean something that at least involves use-package, vertico/consult/etc. or equivalent, company or corfu, project.el or projectile, and magit.

> You can start with a minimal config like Emacs Bedrock or Prelude, and then learn about those options first.

Prelude seems nice but I wouldn’t call it minimal unless you’re comparing to Doom and Spacemacs.

nine_k 7 days ago | parent [-]

BTW project.el is now built-in; more and more good things receive canonical built-in implementations that are actually good.