feat(neovim): add tree-sitter-pest support and refactor configurations

This commit is contained in:
uttarayan21
2025-11-03 00:56:43 +05:30
parent 0f77e228b0
commit fb3af7f9fa
10 changed files with 115 additions and 74 deletions

17
flake.lock generated
View File

@@ -3110,6 +3110,7 @@
"tree-sitter-d2": "tree-sitter-d2",
"tree-sitter-just": "tree-sitter-just",
"tree-sitter-nu": "tree-sitter-nu",
"tree-sitter-pest": "tree-sitter-pest",
"tree-sitter-slint": "tree-sitter-slint",
"typr": "typr",
"volt": "volt",
@@ -3935,6 +3936,22 @@
"type": "github"
}
},
"tree-sitter-pest": {
"flake": false,
"locked": {
"lastModified": 1759743491,
"narHash": "sha256-S5qg/LLPlMmNtRTTi7vW8y/c+zcId7ADmMqIt0gqJBo=",
"owner": "pest-parser",
"repo": "tree-sitter-pest",
"rev": "c19629a0c50e6ca2485c3b154b1dde841a08d169",
"type": "github"
},
"original": {
"owner": "pest-parser",
"repo": "tree-sitter-pest",
"type": "github"
}
},
"tree-sitter-slint": {
"flake": false,
"locked": {

View File

@@ -119,6 +119,10 @@
url = "github:nushell/tree-sitter-nu";
flake = false;
};
tree-sitter-pest = {
url = "github:pest-parser/tree-sitter-pest";
flake = false;
};
navigator = {
url = "github:ray-x/navigator.lua";
flake = false;
@@ -401,7 +405,7 @@
in {
packages = rec {
default = neovim;
neovim = pkgs.nixvim.makeNixvim (import ./neovim);
neovim = pkgs.nixvim.makeNixvim (pkgs.callPackage ./neovim);
};
devShells = {
default = pkgs.mkShell {

View File

@@ -14,6 +14,7 @@
stablePkgs = inputs.nixpkgs-stable.legacyPackages.${device.system};
};
users.${device.user}.imports = [
inputs.nixvim.homeModules.nixvim
./.
];
};

View File

@@ -41,6 +41,7 @@
./yazi.nix
./yt-dlp.nix
./zoxide.nix
./neovim.nix
# ./goread.nix
# ./helix.nix
@@ -74,7 +75,6 @@
just
macchina
nb
(nixvim.makeNixvim (import ../../neovim))
p7zip
pandoc
pfetch-rs

7
home/programs/neovim.nix Normal file
View File

@@ -0,0 +1,7 @@
{pkgs, ...}: {
programs.nixvim =
{
enable = true;
}
// (import ./../../neovim {inherit pkgs;});
}

View File

@@ -1,8 +1,4 @@
{
pkgs,
# config,
...
}: let
{pkgs, ...}: let
mkMappings = mappings:
[]
++ (pkgs.lib.optionals (builtins.hasAttr "normal" mappings) (mkMode mappings.normal "n"))
@@ -17,16 +13,16 @@
mode = mode;
})
mappings;
border = [
""
""
""
""
""
""
""
""
];
# border = [
# "╭"
# "─"
# "╮"
# "│"
# "╯"
# "─"
# "╰"
# "│"
# ];
rawLua = lua: {
"__raw" = ''
${lua}
@@ -349,9 +345,11 @@ in {
tree-sitter-norg-meta
tree-sitter-just
tree-sitter-nu
# pkgs.tree-sitter-grammars.tree-sitter-d2
tree-sitter-pest
tree-sitter-slint
])
++ pkgs.vimPlugins.nvim-treesitter.allGrammars;
nixGrammars = true;
};
telescope = {
@@ -770,6 +768,12 @@ in {
},
})
vim.filetype.add({
extension = {
pest = "pest",
},
})
vim.filetype.add({
filename = {
['nurfile'] = "nu",

View File

@@ -29,6 +29,16 @@
version = "1";
src = inputs.tree-sitter-nu;
};
tree-sitter-pest = final.pkgs.tree-sitter.buildGrammar {
language = "pest";
version = "1";
src = inputs.tree-sitter-pest;
};
tree-sitter-slint = final.pkgs.tree-sitter.buildGrammar {
language = "slint";
version = "1";
src = inputs.tree-sitter-slint;
};
};
};
in [
@@ -37,3 +47,36 @@ in [
vimPlugins
tree-sitter-grammars
]
# tree-sitter-grammars = final: prev: {
# tree-sitter-grammars =
# prev.tree-sitter-grammars
# // {
# # tree-sitter-just = final.pkgs.tree-sitter.buildGrammar {
# # language = "just";
# # version = "1";
# # src = inputs.tree-sitter-just;
# # };
# # tree-sitter-nu = final.pkgs.tree-sitter.buildGrammar {
# # language = "nu";
# # version = "1";
# # src = inputs.tree-sitter-nu;
# # };
# tree-sitter-d2 = final.pkgs.tree-sitter.buildGrammar {
# language = "d2";
# version = "1";
# src = inputs.tree-sitter-d2;
# };
# };
# };
# vimPlugins = final: prev: {
# vimPlugins =
# prev.vimPlugins
# // {
# d2 = final.pkgs.vimUtils.buildVimPlugin {
# name = "d2";
# version = "1";
# src = inputs.d2;
# };
# };
# };

View File

@@ -274,7 +274,7 @@
gparted
nvtopPackages.nvidia
quickemu
(nixvim.makeNixvim (import ../../neovim))
# (nixvim.makeNixvim (import ../../neovim))
qpwgraph
hyprland
xorg.xhost

View File

@@ -6,7 +6,7 @@
}: {
services = {
llama-cpp = {
enable = true;
enable = false;
port = 11345;
model = "/nix/store/ch6z9di3l0k54ad29pzv8k3zv47q30d1-Qwen3-Coder-30B-A3B-Instruct-Q4_K_M.gguf";
# model = pkgs.fetchurl {

View File

@@ -168,6 +168,7 @@
};
nix-auth = inputs.nix-auth.packages.${prev.system}.nix-auth;
};
anyrun-overlay = final: prev: {
anyrun =
inputs.anyrun.packages.${prev.system}.anyrun.overrideAttrs
@@ -262,48 +263,15 @@
'';
});
};
vimPlugins = final: prev: {
vimPlugins =
prev.vimPlugins
// {
d2 = final.pkgs.vimUtils.buildVimPlugin {
name = "d2";
version = "1";
src = inputs.d2;
};
};
};
tree-sitter-grammars = final: prev: {
tree-sitter-grammars =
prev.tree-sitter-grammars
// {
# tree-sitter-just = final.pkgs.tree-sitter.buildGrammar {
# language = "just";
# version = "1";
# src = inputs.tree-sitter-just;
# };
# tree-sitter-nu = final.pkgs.tree-sitter.buildGrammar {
# language = "nu";
# version = "1";
# src = inputs.tree-sitter-nu;
# };
tree-sitter-d2 = final.pkgs.tree-sitter.buildGrammar {
language = "d2";
version = "1";
src = inputs.tree-sitter-d2;
};
};
};
in [
in
[
anyrun-overlay
catppuccinThemes
csshacks
inputs.nixvim.overlays.default
inputs.nno.overlays.default
inputs.lfca.overlays.default
inputs.nix-minecraft.overlay
inputs.nur.overlays.default
inputs.rust-overlay.overlays.default
inputs.nix-minecraft.overlay
inputs.lfca.overlays.default
jellyfin
libfprint
misc-applications
@@ -311,8 +279,5 @@ in [
shell-scipts
tmuxPlugins
zellij
# inputs.llama-cpp.overlays.default
# inputs.ik_llama.overlays.default
# tree-sitter-grammars
# vimPlugins
]
++ (import ./neovim/overlays.nix {inherit inputs;})