This commit is contained in:
Andrea Ciceri 2023-09-19 21:44:19 +02:00
parent 2a1f2576e4
commit a7ac7b4b74
Signed by: aciceri
SSH key fingerprint: SHA256:/AagBweyV4Hlfg9u092n8hbHwD5fcB6A3qhDiDA65Rg
8 changed files with 232 additions and 72 deletions

10
packages/combobulate.nix Normal file
View file

@ -0,0 +1,10 @@
{
trivialBuild,
src,
...
}:
trivialBuild {
inherit src;
version = "git";
pname = "combombulate";
}

View file

@ -18,43 +18,61 @@
# https://github.com/NixOS/nixpkgs/issues/209114
_module.args.pkgs = inputs.nixpkgs.legacyPackages.${system}.extend (self: super: {
indent-bars-source = inputs.indent-bars;
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
'';
});
};
nix-ts-mode-source = inputs.nix-ts-mode;
combobulate-source = inputs.combobulate;
# 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
all-grammars = pkgs.tree-sitter.withPlugins builtins.attrValues;
in
pkgs.runCommand "treesit-grammars" {} ''
mkdir $out
for f in ${all-grammars}/*
do
cp $f $out/"libtree-sitter-$(basename $f)"
done
'';
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;
withPgtk = true;
# 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);
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;
};
apps = {
ccrEmacs.program = "${self'.packages.ccrEmacs}/bin/emacs";
default = self'.apps.ccrEmacs;
default = config.apps.ccrEmacs;
};
};
}

9
packages/nix-ts-mode.nix Normal file
View file

@ -0,0 +1,9 @@
{
trivialBuild,
src,
}:
trivialBuild {
inherit src;
pname = "nix-ts-mode";
version = "git";
}

View file

@ -22,13 +22,17 @@ with epkgs; [
embark-consult
magit
magit-delta
magit-todos
diff-hl
corfu
corfu-terminal
kind-icon
cape
which-key
nix-mode
# nix-mode
(nix-ts-mode.overrideAttrs (_: {
src = pkgs.nix-ts-mode-source;
}))
unisonlang-mode
purescript-mode
dhall-mode
@ -36,8 +40,6 @@ with epkgs; [
inheritenv
popper
paredit
tree-sitter
tree-sitter-langs
yaml-mode
hl-todo
markdown-mode
@ -48,4 +50,12 @@ with epkgs; [
src = pkgs.indent-bars-source;
inherit (epkgs) trivialBuild compat;
})
(pkgs.callPackage ./combobulate.nix {
src = pkgs.combobulate-source;
inherit (epkgs) trivialBuild;
})
org-roam
consult-org-roam
ement
]