Skip to content

Latest commit

 

History

History
145 lines (113 loc) · 6.51 KB

README.md

File metadata and controls

145 lines (113 loc) · 6.51 KB

Nixvim Dev-shell Environment

This is a Nix flake configuration for Neovim built with the Nixvim project It is fully configured with LSPs, linters, formatters, debuggers, styling, and popular navigation plugins.

Setup

This flake can be built with the Nix package manager or with a NixOS system configured with flake support. Follow these instructions to download and install the Nix package manager for your system.

Once you have the package manager installed, enable flak support by adding the following line to ~/.config/nix/nix.conf or /etc/nix/nix.conf:

experimental-features = nix-command flakes

You will need to restart your shell or terminal session for the setting to take effect.

Dev-shell

To use Neovim from the dev-shell, clone this repo with:

git clone https://github.com/pete3n/nixvim-flake.git

cd to the repo and enter the dev-shell environment with:

nix develop

or run it directly from Github with:

nix develop github:pete3n/nixvim-flake

You can create a persistent profile link for the development environment with:

nix develop --profile ./nixvim

"nixvim" is an arbitrary name. Use whatever name you like. This will create a symlink to the Nix store environment derivation. You can re-open the profile with:

nix develop ./nixvim

Styling

NixVim Demo

Language Support


Language LSP Lint Format Debug
ASM ✔*
C ✔*
Cmake
C++ ✔*
CSS
Go
HTML
Lua
JSON
Markdown
Nix
Prisma
Python
Rust
Shell ✔*
TypeScript
YAML
Zig

*Debugging is with a GDB/LLDB/BASHDB wrapper through nvim-gdb I have been unable to get DAP working correctly for these languages.

Plugins

Resources

Much of the configuration for this flake was gleaned from numerous instructional videos and howto guides for Neovim including:

Thanks

Big shout out to the Nix and Neovim community for all the awesome plugins, documentation, videos, and support. There are too many people to thank, but for this project in particular, I'd like to thank @vimjoyer for piquing my interest in Nixvim with his video and @GaetanLepage for maintaining the Nixvim project.