.emacs.d  by MatthewZMD

Emacs config with enhanced features and streamlined package management

created 6 years ago
710 stars

Top 49.2% on sourcepulse

GitHubView on GitHub
Project Summary

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

  • Installation: Clone the repository to ~/.emacs.d and open Emacs. Follow the "Prerequisite" instructions within the README.
  • Prerequisites: GNU Emacs 26.1 or higher (Emacs 29 recommended). Some features require external tools like ripgrep, git, fd, ctags, tree-sitter grammars, python3, pip3, clangd, gopls, R, TeX Live, plantuml, graphviz, NodeJS, jupyter, and potentially Gow/MSYS2 on Windows.
  • Setup Time: Minimal for basic setup, but configuring all language servers and external tools can take significant time.
  • Links: GitHub Repository

Highlighted Details

  • Extensive Documentation: The README itself serves as a detailed, code-annotated guide to the configuration.
  • Performance Optimizations: Includes techniques like deferring garbage collection, disabling unnecessary interfaces, and optimizing load paths.
  • Rich Feature Set: Covers a vast array of functionalities including advanced text editing, project management, version control, web development, email client integration (mu4e), and multimedia applications (EAF).
  • Customization: Designed to be easily modified, with specific sections for user information and private configurations.

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.

Health Check
Last commit

4 months ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
12 stars in the last 90 days

Explore Similar Projects

Starred by Max Howell Max Howell(Author of Homebrew) and Patrick von Platen Patrick von Platen(Core Contributor to Hugging Face Transformers and Diffusers).

kohya_ss by bmaltais

0.2%
11k
GUI for Stable Diffusion training scripts
created 2 years ago
updated 1 week ago
Feedback? Help us improve.