🎷
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;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,6 +6,7 @@ with epkgs; let
|
|||
indent-bars = [compat];
|
||||
chatgpt = [polymode];
|
||||
copilot = [editorconfig dash s];
|
||||
notmuch-notify = [alert notmuch];
|
||||
};
|
||||
|
||||
overrideAttrsPerPackage = {
|
||||
|
@ -38,7 +39,7 @@ with epkgs; let
|
|||
[
|
||||
meow
|
||||
dracula-theme
|
||||
solaire-mode
|
||||
# solaire-mode
|
||||
nerd-icons
|
||||
nerd-icons-completion
|
||||
nerd-icons-ibuffer
|
||||
|
@ -48,6 +49,7 @@ with epkgs; let
|
|||
eat
|
||||
eshell-syntax-highlighting
|
||||
fish-completion # fish completion for eshell
|
||||
eshell-prompt-extras
|
||||
esh-autosuggest
|
||||
clipetty
|
||||
sideline
|
||||
|
@ -91,6 +93,8 @@ with epkgs; let
|
|||
password-store-otp
|
||||
vertico-posframe
|
||||
eldoc-box
|
||||
go-translate
|
||||
notmuch
|
||||
];
|
||||
in
|
||||
mainPackages ++ (builtins.attrValues extraPackages)
|
||||
|
|
Reference in a new issue