updated nvim config, added local_ai
This commit is contained in:
76
home/nvim/default.nix
Normal file
76
home/nvim/default.nix
Normal file
@@ -0,0 +1,76 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
treesitterParsers = pkgs.symlinkJoin {
|
||||
name = "treesitter-parsers";
|
||||
paths = builtins.attrValues pkgs.vimPlugins.nvim-treesitter.passthru.grammarPlugins;
|
||||
};
|
||||
in
|
||||
{
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
withNodeJs = true;
|
||||
withPython3 = true;
|
||||
|
||||
extraPackages = with pkgs; [
|
||||
# Native compilation tools & Treesitter CLI
|
||||
gcc
|
||||
clang
|
||||
gnumake
|
||||
cmake
|
||||
tree-sitter
|
||||
|
||||
# Search & Fuzzy Finding
|
||||
ripgrep
|
||||
fd
|
||||
fzf
|
||||
|
||||
# Archive and Network Utilities
|
||||
git
|
||||
curl
|
||||
unzip
|
||||
gnutar
|
||||
gzip
|
||||
|
||||
# Language Servers, Linters & Formatters (Declarative, no Mason needed)
|
||||
# Nix
|
||||
nil
|
||||
nixfmt
|
||||
statix
|
||||
# Lua
|
||||
lua-language-server
|
||||
stylua
|
||||
# C / C++
|
||||
llvmPackages_latest.clang-tools
|
||||
llvmPackages_latest.lldb
|
||||
# Rust
|
||||
rust-analyzer
|
||||
# Python
|
||||
pyright
|
||||
ruff
|
||||
# Web / TypeScript / JavaScript / HTML / CSS / JSON
|
||||
vtsls
|
||||
vscode-langservers-extracted
|
||||
prettier
|
||||
# Shell
|
||||
shfmt
|
||||
shellcheck
|
||||
];
|
||||
|
||||
extraWrapperArgs = [
|
||||
"--set" "NVIM_TREESITTER_PARSERS" "${treesitterParsers}"
|
||||
];
|
||||
};
|
||||
|
||||
# Symlink LazyVim configuration to ~/.config/nvim recursively
|
||||
xdg.configFile."nvim" = {
|
||||
source = ./config;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
# Symlink precompiled Treesitter parsers directly into ~/.config/nvim/parser
|
||||
xdg.configFile."nvim/parser".source = "${treesitterParsers}/parser";
|
||||
}
|
||||
Reference in New Issue
Block a user