Emacs config with enhanced features and streamlined package management
Top 49.2% on sourcepulse
M-EMACS is a comprehensive GNU Emacs configuration distribution designed to provide a feature-rich and highly customizable Emacs environment. It targets Emacs users, from beginners seeking a well-structured starting point to advanced users looking for an optimized and extensible setup. The distribution aims to enhance productivity through a curated selection of packages and configurations for programming, writing, and general use.
How It Works
M-EMACS prioritizes a clean and efficient startup process by leveraging early-init.el
and carefully deferring package loading. It utilizes straight.el
for declarative and reproducible package management, ensuring reliable updates and easy configuration. The configuration is heavily modularized within the elisp/
directory, with extensive use of use-package
for streamlined package setup and customization. Key features include advanced completion with lsp-bridge
, integrated Git support via magit
, and robust project management with projectile
.
Quick Start & Requirements
~/.emacs.d
and open Emacs. Follow the "Prerequisite" instructions within the README.ripgrep
, git
, fd
, ctags
, tree-sitter
grammars, python3
, pip3
, clangd
, gopls
, R
, TeX Live
, plantuml
, graphviz
, NodeJS
, jupyter
, and potentially Gow
/MSYS2
on Windows.Highlighted Details
Maintenance & Community
The project is maintained by MatthewZMD. Community feedback and contributions are welcomed via issues and pull requests. Links to community resources are not explicitly provided in the README.
Licensing & Compatibility
The configuration is distributed under the GPL license, emphasizing that "what is free stays free." This implies that derivative works must also be made available under the GPL.
Limitations & Caveats
The configuration is tested for GNU Emacs 26.1 and higher, with a recommendation for Emacs 29. Some features, like treesit-auto
, are noted as potentially becoming obsolete in future Emacs versions. Certain functionalities, particularly those requiring external tools or specific OS setups (like Windows), may require additional installation and configuration steps.
4 months ago
1 day