Skip to content
This repository has been archived by the owner on Apr 12, 2024. It is now read-only.

inscapist/emacs-osx

Repository files navigation

Emacs OSX

Latest HEAD Emacs Status

Features

  • Tested on Mac OSX Big Sur and Catalina
  • Works with yabai tiling window manager
  • Comes with 4 variants (with/without native-compilation, and with/without tiling support)
  • Cached builds, updated from source every 24 hours

There are 4 variants

emacsOsx

master emacs. Fresh out of https://savannah.gnu.org/projects/emacs

emacsOsxNative

master emacs, with native compilation

emacsOsxTile

emacsOsx with tiling support (may not work with posframe/childframe)

emacsOsxNativeTile

emacsOsxNative with tiling support (may not work with posframe/childframe)

Installation

Install Nix and optionally nix-darwin

No Nix knowledge required, and you do NOT need nix-darwin for this to work. Nix Darwin allows installation to /Applications folder but you could also symlink from ~/.nix-profile/Applications.

Visit this link if you haven't installed Nix already. https://nixos.org/guides/install-nix.html

Install to nix-store

# Install from cachix binaries
nix-env -iA cachix -f https://cachix.org/api/v1/install
cachix use emacs-osx

# `emacsOsxNative` can be substituted with any variant (mentioned above)
nix-env -iA emacsOsxNative -f https://github.com/sagittaros/emacs-osx/archive/refs/tags/built.tar.gz

Copy to /Applications

Not required if you are using nix-darwin.

sudo rm -rf /Applications/Emacs.app
sudo cp -rL ~/.nix-profile/Applications/Emacs.app /Applications

Motivation

  • Replicate Emacs Overlay to OSX/darwin environment
  • Allow overrides of patches
  • Last but not least, for my own learning and use
  • And in future (my own custom icons)

Patches

More patches can be found below:

Note that this uses --with-ns (nextstep) and patches from "Mac Port" (see here) version will likely not work.

References

Inspired By

Gccemacs by twlz0ne

CI configuration (Github Action)

Refer https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on