nixpkgs/pkgs/build-support/emacs
Chris Hodapp 1a8edfe192
emacs: Add basic tree-sitter support (#219559)
This commit adds basic support for tree-sitter in the emacs build,
such that (if the user opts into tree-sitter support), tree-sitter
will be enabled and binary library files for tree-sitter can be
included in the `lib` directory of packages passed to
`emacsWithPackages`. The libraries will be aggregated and included in
treesit-extra-load-path.

The previous pattern for this in the community was to add tree-sitter
libaries by patching emacs's `RUNPATH` with `patchelf` in a post-fixup
phase. However, this has the substantial drawback that two different
emacs installations with different lists of available tree-sitter
libraries must be entirely separate builds. By supplying the
tree-sitter libraries in the wrapping layer of `emacsWithpackages`, it
becomes possible to share a single, more-cacheable "core emacs".

This support defaults to "on" only in emacs 29 and up, since previous
versions do not support tree-sitter out of the box.
2023-03-15 16:51:29 +13:00
..
buffer.nix
elpa2nix.el
elpa.nix
emacs-funcs.sh
generic.nix emacs: remove warning of xargs when doing AOT native-comp 2022-10-04 02:53:55 +08:00
melpa2nix.el
melpa.nix package-build: don't use mtime when creating tarballs 2022-09-18 10:02:53 +01:00
mk-wrapper-subdirs.el
package-build-dont-use-mtime.patch package-build: don't use mtime when creating tarballs 2022-09-18 10:02:53 +01:00
trivial.nix
wrapper.nix emacs: Add basic tree-sitter support (#219559) 2023-03-15 16:51:29 +13:00
wrapper.sh