Review: The Perfect Neovim Setup For Rust Video (11min)


  • Fuck this video. They spent 5 minutes (~half the video) showing how to setup rust analyser they deleted it, said "yeah, sorry about that" and used something else instead.

    Because I'm taking notes that took about 20min to get to the point where they said they weren't going to use any of that.

    Don't do that.

  • They have a bunch of links in the description to their person stuff, but no links to all the various plugin which would have been much more helpful

  • Plugin links are in the references

  • The most useful thing was learning about the DAP (Debug Adapter Protocol) Neovim plugin for debugging Rust code. Other than that I didn't get much out of it and am still miffed that it burned time by showing me something that it didn't actually use


  • They use nvchat for the base configuration (they have a video on that too)

  • They use rust analyzer for the LSP

  • Recommended way to install analyzer is with rustup

  • Can also install analyzer with mason plugin in nvim which is how they do it. can't tell if there's a practical difference

  • Looks like the file tree that's installed with nvchad is NvimTree

  • Shows how to do lua plugin installs via mason I'm not messing with that. (I'm mainly looking to see what they tools they use in general.

  • A little tough to figure out the different setup stuff since I'm not using nvchad, but maybe it's all the same? tbd

  • Files are setup in `~/.config/nvim/lua/custom`` which you can create if you don't have it.

  • Talks about setting up the chadrc.lua file to call other plugins, but I'm not using that since I'm using kickstart.

  • Talks about setting up `on_attach`` and `capabilities`` in the lsp config. Looks like that's already setup in the kickstart.

  • For kickstart config there was no options in the rust analyzer portion. I added `on_attach = on_attach`` but it broke so I removed it

  • The video said to put this in as well but it threw a warning for me so I skipped it

    ```lua capabilities = capabilities, ```

  • There were some other settings I skipped as tell for limiting to rust files and setting the default root to the Cargo.toml, but that already seems to be working for me.

  • Talks about auto formatting on save with the official `rust.vim`` plugin. I've already got that installed and running.

  • Fuck this. They spent 5 minutes showing how to setup the rust analyzer stuff then just deleted it to use something else instead.

  • They switched over to using `rust-tools`` for some more debugging functionality

  • says that rust-tools uses rust-analyzer under the hood

  • They had an issue with things not loading in the proper order so they setup a dependency call to fix the order. I'm not messing with that since things are so different for my setup.

  • Need to install DAP (Debug Adapter Protocol) plugin in nvim

  • Also need to install lldb which is not a neovim thing. They installed it with pacman on arch linux.

  • I tried to do `brew lldb`` on my mac and it didn't work

  • Recommends adding keymapping to open the debugger and step through it (season to taste on that). They show how to setup keymaps in chad. I just use the main `~/.config/nvim/init.lua`` for now

  • DAP does a bunch of stuff that's worth looking at.

  • They use the crates nvim plugin for working with the Cargo.toml crates to see versions and open docs. I'm not interested in that at this point.

  • The crates plug require another plugin to work for them (nvim-cmp - compleciton engine)


nvim-cmp A completion engine plugin for neovim written in Lua.


crate.nvim rust crates plugin for neovim


Neovim DAP plugin - a Debug Adapter Protocol client implementation for Neovim