35 lines
758 B
Nix
35 lines
758 B
Nix
{
|
|
lib,
|
|
inputs,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
pkgs' = pkgs.extend (
|
|
lib.composeManyExtensions [
|
|
inputs.emacs-overlay.overlays.package
|
|
inputs.emacs-overlay.overlays.emacs
|
|
]
|
|
);
|
|
all-grammars = pkgs'.tree-sitter.withPlugins builtins.attrValues;
|
|
treesitGrammars = pkgs'.runCommand "treesit-grammars" { } ''
|
|
mkdir $out
|
|
for f in ${all-grammars}/*
|
|
do
|
|
cp $f $out/"libtree-sitter-$(basename $f)"
|
|
done
|
|
'';
|
|
emacsWithoutPackages = pkgs'.emacs-unstable.override {
|
|
withSQLite3 = true;
|
|
withWebP = true;
|
|
withPgtk = true;
|
|
};
|
|
emacs = (pkgs'.emacsPackagesFor emacsWithoutPackages).emacsWithPackages (
|
|
import ./packages.nix pkgs'
|
|
);
|
|
in
|
|
emacs.overrideAttrs {
|
|
passthru = {
|
|
inherit treesitGrammars;
|
|
};
|
|
}
|