back to home

d12frosted / homebrew-emacs-plus

Emacs Plus formulae for the Homebrew package manager

View on GitHub
2,829 stars
206 forks
5 issues

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing d12frosted/homebrew-emacs-plus in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/d12frosted/homebrew-emacs-plus)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

#+begin_html Emacs Plus #+end_html ** About Emacs+ is [[https://www.gnu.org/software/emacs/emacs.html][→ GNU Emacs]] formulae for macOS [[https://brew.sh][→ Homebrew]] package manager. It offers a wide range of extra functionality over regular [[https://formulae.brew.sh/formula/emacs#default][→ Emacs]] package. Emacs+ intent is to give the most of 'plus' stuff by default, leaving only controversial options as opt-in. Please refer to [[#options][→ Options]] section for more information. #+begin_src bash $ brew tap d12frosted/emacs-plus # Pre-built binaries (fast, ~1 min) $ brew install --cask emacs-plus-app # latest stable $ brew install --cask emacs-plus-app@master # nightly from master # Build from source (customizable, ~30 min) $ brew install emacs-plus [options] # latest stable $ brew install emacs-plus@master [options] # from master #+end_src #+begin_html #+end_html Feel free to open an issue or contact me via email if you face any issues, questions or feature requests. I love pull requests, so do send them. You might want to check [[docs/development-guidelines.org][→ Development guidelines]] to have better understanding on how to contribute. For recent changes, see [[./NEWS.org][→ News]]. ** Table of Contents :TOC_3: • [[#about][About]] • [[#install][Install]] • [[#pre-built-binaries-cask][Pre-built binaries (Cask)]] • [[#build-from-source-formula][Build from source (Formula)]] • [[#installing-from-feature-branch][Installing from feature branch]] • [[#reinstall][Reinstall]] • [[#build-configuration][Build Configuration]] • [[#available-options][Available Options]] • [[#native-compilation-environment-cask][Native Compilation Environment (Cask)]] • [[#emacs-31][Emacs 31]] • [[#included][Included]] • [[#options][Options]] • [[#no-title-bar][No title bar]] • [[#emacs-30][Emacs 30]] • [[#included-1][Included]] • [[#options-1][Options]] • [[#no-title-bar-1][No title bar]] • [[#emacs-29][Emacs 29]] • [[#included-2][Included]] • [[#options-2][Options]] • [[#no-title-bar-2][No title bar]] • [[#features-explained][Features explained]] • [[#injected-path][Injected PATH]] • [[#detecting-emacs-plus][Detecting Emacs Plus]] • [[#emacs-clientapp][Emacs Client.app]] • [[#no-titlebar][No Titlebar]] • [[#xwidgets-webkit][Xwidgets (webkit)]] • [[#system-appearance-change][System appearance change]] • [[#gccemacs][gccemacs]] • [[#community-features][Community Features]] • [[#icons][Icons]] • [[#emacs-configuration][Emacs configuration]] • [[#known-issues][Known Issues]] • [[#emacs-dependency-in-other-formulas][=emacs= dependency in other formulas]] • [[#old-versions][Old versions]] • [[#emacs-28][Emacs 28]] • [[#emacs-27][Emacs 27]] • [[#emacs-26][Emacs 26]] • [[#faq][FAQ]] • [[#how-to-pin-a-specific-commit][How to pin a specific commit]] • [[#screenshots][Screenshots]] • [[#acknowledgements][Acknowledgements]] ** Install *** Pre-built binaries (Cask) For fast installation without compilation (~1 min), pre-built binaries are available: #+begin_src bash $ brew tap d12frosted/emacs-plus $ brew install --cask emacs-plus-app # latest stable $ brew install --cask emacs-plus-app@master # nightly from master #+end_src Cask builds are self-contained applications with all dependencies bundled. They include: • Native compilation (AOT) • =xwidgets=, =tree-sitter=, =imagemagick=, =mailutils= • =Emacs.app= and =Emacs Client.app= • Default Emacs icon *Cask vs Formula:* | Feature | Cask (=--cask=) | Formula | |----------------------+------------------------+---------------------------| | Install time | ~1 minute (download) | ~30 minutes (compile) | | Custom build options | No | Yes (icons, patches, etc) | | macOS versions | ARM64: 13+, Intel: 15+ | Any supported | | Architectures | ARM64 and Intel | Any | *Note:* Cask builds are architecture and macOS version specific. ARM64 has dedicated builds for Sonoma (14), Sequoia (15), and Tahoe (26); Ventura (13) users get the Sonoma build. Intel has a single Sequoia (15) build. Use the *formula* if you need custom icons, patches, or specific build options. Use the *cask* for quick installation with sensible defaults. *** Build from source (Formula) For custom build options (~30 min compile time): #+begin_src bash $ brew tap d12frosted/emacs-plus $ brew install emacs-plus [options] # latest stable $ brew install emacs-plus@master [options] # from master #+end_src Versioned formulas are also available: =emacs-plus@30=, =emacs-plus@29=, etc. By default, formulas build Cocoa Emacs with =gnutls=, =librsvg=, =libxml2=, =tree-sitter=, =webp=, native compilation, dynamic modules, and multicolor fonts. See [[#options][→ Options]] for customization. *** Installing from feature branch Sometimes you might want to install from a feature branch. In that case you can switch the branch in the tap and install Emacs+ again. Prerequisites are: • Emacs+ is tapped (e.g. =brew tap d12frosted/emacs-plus=). • =jq= is available (e.g. =brew install jq=). Open terminal and type the following commands (don't forget to use correct Emacs+ version, branch and options): #+begin_src bash $ brew uninstall emacs-plus@29 $ cd $(brew tap-info --json d12frosted/emacs-plus@29 | jq -r '.[0].path') && git switch BRANCH $ brew install emacs-plus@29 [OPTIONS] #+end_src ** Reinstall If you wish to reinstall =emacs-plus= with you should not use =reinstall= command of =brew= (not related to this formula, it's a general advice). Instead, you should =uninstall= a package and then =install= it with desired options. Avoid =reinstall= even if you want to =reinstall= with the same set of options, otherwise you will likely to get compilation errors! For example, [[https://github.com/d12frosted/homebrew-emacs-plus/issues/218][#218]] and [[https://github.com/d12frosted/homebrew-emacs-plus/issues/321][#321]]. In short, =brew= doesn't really support options. They break time to time ([[https://github.com/Homebrew/brew/issues/4793][brew#4793]], [[https://github.com/Homebrew/brew/iss…