I've packaged @suchipi 's #QuickJS fork for #Nix! She added some awesome features like `qjsbootstrap` which lets you append #JavaScript to an existing binary to create a new program that automatically executes your code!
This #NixFlake includes a helper for building applications using `qjsbootstrap`. Check it out!
#quickjs #nix #javascript #NixFlake
The only remaining item is stabilizing #TreeSitter and its grammars. I've disabled #vim regex syntax highlighting, but I'd like to use tree-sitter for that. Doesn't work so well when the bash and rust grammars, 2 of my most often used languages, have the highlight feature broken.
Solution? Pull it into its own #NixFlake and iterate until I find a version that works well enough for now. Then iterate from that point, coming from a known stable (albeit not fully functional) restore point.
I did it. After 2 years, (May 2020 is when my git-blame says this all started) I finally solved the problem: #Neovim as a #NixFlake.
Neovim as one singular package, bundled with known-working language servers (independent nixpkgs pointer) and all configurations as one #Nix package. Organized to be flexible as I swap in and out #vim plugins.
Most importantly, this makes plugin and Neovim upgrades individually atomic, with rollback option, all versioned by #git.
#neovim #NixFlake #nix #vim #git