chore(dev): add reproducible neovim tools

This commit is contained in:
Bryan Ramos 2026-04-30 10:27:03 -04:00
parent 08d1df4643
commit 0beb2bef07
3 changed files with 69 additions and 0 deletions

27
flake.lock generated Normal file
View file

@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1777268161,
"narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

32
flake.nix Normal file
View file

@ -0,0 +1,32 @@
{
description = "Neovim configuration development tools";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { nixpkgs, ... }:
let
supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
in
{
devShells = forAllSystems (system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
{
default = pkgs.mkShell {
packages = with pkgs; [
curl
gcc
git
just
neovim
stylua
tree-sitter
];
};
});
};
}

10
justfile Normal file
View file

@ -0,0 +1,10 @@
treesitter_parsers := "lua c cpp python nix rust bash markdown html html_tags javascript ecma jsx css vim git_config git_rebase gitattributes gitcommit gitignore"
default:
just --list
check:
nvim --headless README.md '+checkhealth vim.treesitter' '+qa'
update-treesitter:
nvim --headless "+lua require('nvim-treesitter').install(vim.split('{{treesitter_parsers}}', ' ')):wait(300000)" '+qa'