Discord server: / discord All code from the video: github.com/vimjoyer/nvim-video I want to also credit kickstart.nvim, some parts were inspired by it. kickstart.nvim: github.com/nvim-lua/kickstart...
I'm sure you already have tons of NixOS video ideas, but I'd like to suggest you do a deep dive on various approaches toward configuring NeoVim on NixOS specifically. You could do it as a sort of unofficial sequel to this by telling people to watch this one first and assuming they know the content of this video (and only this video), so that you can guarantee viewers have the same baseline knowledge without repeating yourself at all. My main reason for suggesting this is that there are many different ways to approach the problem of configuring it: - nixvim - using xdg.configfile - packaging your entire config as a custom plugin with buildVimPlugin - creating a custom flake - etc. ...and there are many ways to install it: - installing with home-manager programs.neovim - installing using the official nightly overlay flake - installing in configuration.nix - etc. ...and from all the googling I've done, it seems that there's no comprehensive guide breaking down any of these, let alone one that compares the pros and cons of each. Bonus points if you can highlight NixOS specific plugins or nvim tools. My main point is this: a video on this topic would fill a valuable niche in the community, and it would help tons of people get over their first major hurdle with NixOS: setting up a comfortable dev environment from which to explore the rest of the Nix world. Plus it would probably blow up hard by becoming the defacto link people give to others asking about nvim on NixOS.
I've really enjoyed the Nix content. One question, I've read that there are some potential complexities using neovim with plugins on NixOS, is this true? Also a request, if you can make a video demonstrating how to setup and work with NPM and Cargo (ideally at the same time, as is common when working with Tauri) on NixOS it would give me the last push to know I can move my dev setup into Nix land and never look back. Thanks for making cool stuff 👍
Having work through many other neovim setup videos. This one was the best for me and it works. I really liked your graphics. They remove all the junk and focus on what is necessary.
Amazing video. Exactly what I have been looking for! No other video on NeoVim has broken down how the config file should be structured, this well. 10/10
Awesome videos. You've inspired me to start my journey into home-manager. I'd love to see another take on a neovim setup while leveraging home manager to manage the configuration files. I'm going through your video step by step and slowly finding the corresponding home-manager/nix option, but would love to see your take on it.
I don't personally really like the idea of using nix for configuring neovim, I think that has its place for making a stable neovim distro, but I myself like being able to get into my config and tinker and break stuff as I please, nix is just so much more clunky than lua for that. I run NixOS with home manager, which manages neovim by just symlinking my lua config and installing the third party dependencies I want like lsp and other tools(and more because I have to than anything else, NixOS by default doesn't allow random executables to run so using mason would require some kind of workaround).
i have so much trouble with rust-analyzer. Installing with mason is not the problem but it does not run, when i want it to run. But i finally got it working: I created a shell environment: ``` with import {}; stdenv.mkDerivation { name = "rust-env"; nativeBuildInputs = [ rustc cargo gcc rustfmt clippy pkg-config ]; buildInputs = [ openssl rust-analyzer ]; RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}"; # Set Environment Variables RUST_BACKTRACE = 1; # ENV Variables LD_LIBRARY_PATH = "${geos}/lib:${gdal}/lib"; } ``` I dont know, which parts of this shell config does the trick. I also added these Lines: to my neovim config ``` require('mason').setup { PATH = "append", } ``` This tells mason to use rust-analyzer of the system
Setting up lsp configuration into 'after' is a nice touch. How is lazy plugin manager aware of executing lua files in 'after' directory? Is that folder name 'after' fixed? Are there folders that can be used a well for configuring some plugins?
@@vimjoyer Where can i find documents about such directories? I am trying to set up jdtls using mason. I am looking for two things. 1. How to configure jdtls. 2. Recommended structure of files to organize with lsp. I work on multiple languages - java, scala, rust, dockerfile. So, I would prefer to keep every lsp configuration in its own configuration file.
@@shyam2305 you can require lua files from lua/ directory even in after/plugin. So you can make a /lua/lspconfigs/ directory (or any other name), and put the configurations there. I'm not sure if there is a list of all these special directories, I know about them from other people's configs, and :help.
Is is possible to make mason work on nixos ? I tried to copy my config from archlinux to nixos and for certain language servers mason can't seem to find the binaries... I am pretty experienced with vim but not much with nixos
It is, but you have to use nix-ld. I'll probably make a video about it later. Still, on nixos it's better to use devshells with language servers instead of mason
More NixOS tutorials are coming, just want to spice things up with my favorite editor's config vid. Hope you enjoy it!
I'm sure you already have tons of NixOS video ideas, but I'd like to suggest you do a deep dive on various approaches toward configuring NeoVim on NixOS specifically.
You could do it as a sort of unofficial sequel to this by telling people to watch this one first and assuming they know the content of this video (and only this video), so that you can guarantee viewers have the same baseline knowledge without repeating yourself at all.
My main reason for suggesting this is that there are many different ways to approach the problem of configuring it:
- nixvim
- using xdg.configfile
- packaging your entire config as a custom plugin with buildVimPlugin
- creating a custom flake
- etc.
...and there are many ways to install it:
- installing with home-manager programs.neovim
- installing using the official nightly overlay flake
- installing in configuration.nix
- etc.
...and from all the googling I've done, it seems that there's no comprehensive guide breaking down any of these, let alone one that compares the pros and cons of each. Bonus points if you can highlight NixOS specific plugins or nvim tools.
My main point is this:
a video on this topic would fill a valuable niche in the community, and it would help tons of people get over their first major hurdle with NixOS: setting up a comfortable dev environment from which to explore the rest of the Nix world. Plus it would probably blow up hard by becoming the defacto link people give to others asking about nvim on NixOS.
Very professional video content. Keep it up! Came to the channel for Nix. You have converted me sir
I've really enjoyed the Nix content. One question, I've read that there are some potential complexities using neovim with plugins on NixOS, is this true?
Also a request, if you can make a video demonstrating how to setup and work with NPM and Cargo (ideally at the same time, as is common when working with Tauri) on NixOS it would give me the last push to know I can move my dev setup into Nix land and never look back.
Thanks for making cool stuff 👍
@@ericbiggs597 I want to make devshell setup videos for popular languages 👍
@@vimjoyer Awesome. I'm looking forward to it!
Having work through many other neovim setup videos. This one was the best for me and it works. I really liked your graphics. They remove all the junk and focus on what is necessary.
Great video. I have been wanting to upgrade my VIM setup, and this seems like a great place to start. Thanks!
Amazing video. Exactly what I have been looking for! No other video on NeoVim has broken down how the config file should be structured, this well. 10/10
You are an angel, I will definitely be referring to this when I redo my neovim config :) so concise and clear and helpful.
So this channel is really a channel about a vim enjoyer !
Nice ❤
Gotta live up to my name)
a bit dense but certainly a very handy and practical ressource. Thank you!
These videos are just great. Straight to the point and super clear!
Awesome videos. You've inspired me to start my journey into home-manager. I'd love to see another take on a neovim setup while leveraging home manager to manage the configuration files. I'm going through your video step by step and slowly finding the corresponding home-manager/nix option, but would love to see your take on it.
I see that nix + nvim is a highly anticipated video, It is surely coming in the future
Yeaa definitely want more of these ❤
I'm using nvchad, but I've been thinking of making my own config/ide. Thanks mate!
Keep going man, you're a legend
Awesome lecture thank you
I needed this
I found nixvim works really well for my setup. Saves on having to install vim, then a plugin manager, then sync plugins within vim etc.
nixvim is great, I will definitely make a video about it later
Loved the video! Have you thought about making a video like this for configuring neovim in nixos declaratively as opposed to needing mason and lazy?
I don't have a nix neovim setup myself, but yes, I want to make a video on it at some point
I don't personally really like the idea of using nix for configuring neovim, I think that has its place for making a stable neovim distro, but I myself like being able to get into my config and tinker and break stuff as I please, nix is just so much more clunky than lua for that.
I run NixOS with home manager, which manages neovim by just symlinking my lua config and installing the third party dependencies I want like lsp and other tools(and more because I have to than anything else, NixOS by default doesn't allow random executables to run so using mason would require some kind of workaround).
@@davixx1995exactly, same for me
lsp-zero is a nice plugin that makes lsp pretty easy to configure.
Facts
Great video
i have so much trouble with rust-analyzer.
Installing with mason is not the problem but it does not run, when i want it to run.
But i finally got it working:
I created a shell environment:
```
with import {};
stdenv.mkDerivation {
name = "rust-env";
nativeBuildInputs = [
rustc
cargo
gcc
rustfmt
clippy
pkg-config
];
buildInputs = [
openssl
rust-analyzer
];
RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
# Set Environment Variables
RUST_BACKTRACE = 1;
# ENV Variables
LD_LIBRARY_PATH = "${geos}/lib:${gdal}/lib";
}
```
I dont know, which parts of this shell config does the trick.
I also added these Lines: to my neovim config
```
require('mason').setup {
PATH = "append",
}
```
This tells mason to use rust-analyzer of the system
great vid! doesnt look like the telescope bindings work though, any ideas?
thanks
Setting up lsp configuration into 'after' is a nice touch. How is lazy plugin manager aware of executing lua files in 'after' directory? Is that folder name 'after' fixed? Are there folders that can be used a well for configuring some plugins?
Lazy is not aware of plugins in after/plugin directory, they are just being called there. And yes, the after/plugin name is fixed.
@@vimjoyer Where can i find documents about such directories? I am trying to set up jdtls using mason. I am looking for two things. 1. How to configure jdtls. 2. Recommended structure of files to organize with lsp. I work on multiple languages - java, scala, rust, dockerfile. So, I would prefer to keep every lsp configuration in its own configuration file.
@@shyam2305 you can require lua files from lua/ directory even in after/plugin. So you can make a /lua/lspconfigs/ directory (or any other name), and put the configurations there.
I'm not sure if there is a list of all these special directories, I know about them from other people's configs, and :help.
It's not clear to me why both LSP and treesitter are necessary. Seems like treesitter's functionality would be a subset of an LSP wouldn't it?
Some LSPs do highlight everything, like dartls.
Is is possible to make mason work on nixos ? I tried to copy my config from archlinux to nixos and for certain language servers mason can't seem to find the binaries...
I am pretty experienced with vim but not much with nixos
It is, but you have to use nix-ld. I'll probably make a video about it later. Still, on nixos it's better to use devshells with language servers instead of mason
Which font are you using? Is it JetBrains Mono?
It is
Can you please provide a complete guide to set up neovim for Golang+Typescript development?
possible
tbh I just watched this because of gruvbox theme, gruvbox dark is the best colorscheme for me hahaha
agree
thank you for the video, neovim setup simplified..please configure which key in this repo
That's a good idea, but then it won't be the same as in video, and might confuse some people.
I want the colorscheme of the example code. That same effect but I can't achieve it
The colorscheme is gruvbox, but the code blocks in the video are not neovim screenshots. They are generated as pngs separately.
I love your content! I'm broke but you should set up a patreon 😭
Thanks, I'll consider
I would recommend ko-fi, no fees
mason sadly does not appear to work at all on nixos
Use nix devshells, they are very convenient
9:24 you have wrong comment at the top indicating after/plugin/cmp.lua while referring to after/plugin/lsp.lua
Thanks for correcting