Stop Stacking Dependencies. The Real Power Is Subtraction.

Remember when you first started tinkering with your tools? Maybe someone handed you their old config file, and you just ran with it. For years, you didn’t touch it. It felt like a sacred artifact. But eventually, the weight of inherited cruft becomes unbearable. You look at your setup and realize you’re drowning in dependencies you don’t even use.

Enter Emacs Bedrock 2.0. Most people treat their editor config files like a diary—deeply private, endlessly expressive, and packed with every plugin imaginable. But Bedrock flips the script. It strips away external packages in favor of built-in Emacs capabilities. It replaces tools like wgrep with the native grep-change-to-grep-edit-mode.

The healthiest contribution to a hacking culture isn’t another plugin; it’s the courage to delete one.

If you use Emacs, you know the trap. You think the moat is the package ecosystem. You think adding another layer of abstraction will solve your workflow problems. It won’t. You’re not building a foundation; you’re building a Jenga tower on top of a swamp. Bedrock 2.0 proves that the real moat of mature software isn’t its sprawling third-party ecosystem—it’s the ever-improving core.

Here is the ultimate paradox of a good starter kit: it is designed to restrict you, but that restriction is exactly what sets you free. By imposing a curated, minimal foundation, Bedrock gives you just enough to work, think, and eventually outgrow it. The goal isn’t to be a training wheel you keep on forever.

A framework’s success isn’t measured by how long you depend on it, but by how quickly you outgrow it.

The fight isn’t between different text editors. It’s between accidental complexity and sustainable design. When Bedrock adopts lexical-binding everywhere, it isn’t just modernizing for the sake of it. It’s declaring war on accidental complexity. It’s honoring the tradition of that father’s .emacs passed down through the years, while ruthlessly cutting away the inherited cruft.

We need to stop worshipping accumulation. Stop treating your toolchain like a trophy case of obscure packages. Strip it down. Trust the core. Build something that you can eventually leave behind.

FAQ

Q: What if I actually need those external packages for my workflow?

A: If a specific package solves a problem the core can't, use it. But if the built-in tools already do the job—like Emacs's native grep-edit-mode—you're just adding bloat for the sake of familiarity. Audit your dependencies ruthlessly.

Q: What's the practical implication of Bedrock 2.0's approach?

A: It means you should treat your config files like a temporary scaffold, not a permanent shrine. Build a minimal foundation, learn how the core tools actually work, and eventually outgrow the starter kit entirely.

Q: Isn't Emacs's infinite configurability the whole point?

A: Infinite configurability is a feature, but treating it as a mandate leads to accidental complexity. The contrarian take is that restriction is what actually enables mastery. A curated base forces you to understand the tool before you reinvent it.

📎 Source: View Source