🎷
This commit is contained in:
parent
d977d7857a
commit
c2dc6078f7
6 changed files with 148 additions and 207 deletions
|
@ -11,28 +11,30 @@
|
|||
lib,
|
||||
system,
|
||||
...
|
||||
}: let
|
||||
inherit (inputs.emacs-overlay.overlays.default pkgs pkgs) emacsPackagesFor;
|
||||
in {
|
||||
_module.args.pkgs = inputs.nixpkgs.legacyPackages.${system}.extend (self: super: {
|
||||
extra-package-inputs = lib.mapAttrs' (inputName: input: {
|
||||
name = builtins.head (builtins.match "extra-package-(.*)" inputName);
|
||||
value = input;
|
||||
}) (lib.filterAttrs (inputName: _: ! builtins.isNull (builtins.match "extra-package-.*" inputName)) inputs);
|
||||
|
||||
}: {
|
||||
_module.args.pkgs = lib.foldl (lp: lp.extend) inputs.nixpkgs.legacyPackages.${system} [
|
||||
(self: super: {
|
||||
extra-package-inputs = lib.mapAttrs' (inputName: input: {
|
||||
name = builtins.head (builtins.match "extra-package-(.*)" inputName);
|
||||
value = input;
|
||||
}) (lib.filterAttrs (inputName: _: ! builtins.isNull (builtins.match "extra-package-.*" inputName)) inputs);
|
||||
})
|
||||
# Some tree-sitter grammars in nixpksg are built with a too new ABI
|
||||
# https://github.com/NixOS/nixpkgs/issues/209114
|
||||
# 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
|
||||
# '';
|
||||
# });
|
||||
# };
|
||||
});
|
||||
# (_: _: {
|
||||
# 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 = {
|
||||
treesitGrammars = let
|
||||
|
@ -45,25 +47,19 @@
|
|||
cp $f $out/"libtree-sitter-$(basename $f)"
|
||||
done
|
||||
'';
|
||||
ccrEmacsWithoutPackages = inputs'.emacs-overlay.packages.emacs-unstable.override {
|
||||
ccrEmacsWithoutPackages = pkgs.emacs29.override {
|
||||
withSQLite3 = true;
|
||||
withWebP = true;
|
||||
withPgtk = true;
|
||||
};
|
||||
ccrEmacs = let
|
||||
emacs =
|
||||
(emacsPackagesFor self'.packages.ccrEmacsWithoutPackages).emacsWithPackages
|
||||
(import ./packages.nix pkgs);
|
||||
in
|
||||
pkgs.runCommand "emacs" {} ''
|
||||
cp -r ${emacs} emacs
|
||||
chmod 700 -R emacs
|
||||
mkdir emacs/share/emacs
|
||||
cp -r emacs $out
|
||||
'';
|
||||
default = self'.packages.ccrEmacs;
|
||||
ccrEmacs =
|
||||
(pkgs.emacsPackagesFor config.packages.ccrEmacsWithoutPackages).emacsWithPackages
|
||||
(import ./packages.nix pkgs);
|
||||
default = config.packages.ccrEmacs;
|
||||
};
|
||||
|
||||
apps = {
|
||||
ccrEmacs.program = "${self'.packages.ccrEmacs}/bin/emacs";
|
||||
ccrEmacs.program = "${config.packages.ccrEmacs}/bin/emacs";
|
||||
default = config.apps.ccrEmacs;
|
||||
};
|
||||
};
|
||||
|
|
Reference in a new issue