This repository has been archived on 2024-10-30. You can view files and clone it, but cannot push or open issues or pull requests.
emacs/packages/default.nix

63 lines
1.7 KiB
Nix

{
inputs,
self,
...
}: {
imports = [
inputs.flake-parts.flakeModules.easyOverlay
];
perSystem = {
config,
self',
inputs',
pkgs,
final,
lib,
system,
...
}: let
inherit (inputs.emacs-overlay.overlays.default pkgs pkgs) emacsPackagesFor;
in {
# Some tree-sitter grammars in nixpksg are built with a too new ABI
# https://github.com/NixOS/nixpkgs/issues/209114
_module.args.pkgs = inputs.nixpkgs.legacyPackages.${system}.extend (self: super: {
tree-sitter-grammars =
super.tree-sitter-grammars
// {
tree-sitter-rust = super.tree-sitter-grammars.tree-sitter-rust.overrideAttrs (_: {
nativeBuildInputs = [self.nodejs self.tree-sitter];
configurePhase = ''
tree-sitter generate --abi 13 src/grammar.json
'';
});
};
});
packages = {
ccrEmacsWithoutPackages =
(inputs'.emacs-overlay.packages.emacs-unstable.override {
# treeSitterPlugins =
# builtins.attrValues
# (builtins.removeAttrs pkgs.tree-sitter-grammars ["recurseForDerivations"]);
withNS = false;
withX = false;
withGTK2 = false;
withGTK3 = false;
withWebP = false;
})
.overrideAttrs (old: {
name = "ccr-emacs";
version = "29";
});
ccrEmacs =
(emacsPackagesFor self'.packages.ccrEmacsWithoutPackages).emacsWithPackages
(import ./packages.nix pkgs);
default = self'.packages.ccrEmacs;
};
apps = {
ccrEmacs.program = "${self'.packages.ccrEmacs}/bin/emacs";
default = self'.apps.ccrEmacs;
};
};
}