{ description = "Neovim with LSP dev shell"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; }; outputs = { self, nixpkgs }: let system = "x86_64-linux"; # change if needed pkgs = import nixpkgs { inherit system; }; in { devShells.${system}.default = pkgs.mkShell { packages = with pkgs; [ # neovim neovim # LSPs lua-language-server vscode-langservers-extracted emmet-ls prettier black nixfmt nil python313Packages.python-lsp-server typescript-language-server tailwindcss-language-server stylua nixd # other tools lua5_1 tree-sitter ripgrep gcc gnumake imagemagick luajitPackages.magick ghostscript luarocks (texlive.combine { inherit (texlive) scheme-basic varwidth preview mathtools amsfonts amscdx xcolor dvisvgm dvipng wrapfig standalone graphicxbox amsmath ulem hyperref capt-of; }) ]; shellHook = '' export TREE_SITTER_LIB_PATH="${pkgs.tree-sitter}/lib" echo "Neovim LSP environment loaded" ''; }; }; }