Neovim Starter Setup Guide

Sdílet
Vložit
  • čas přidán 1. 08. 2023
  • 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...

Komentáře • 60

  • @vimjoyer
    @vimjoyer  Před 10 měsíci +38

    More NixOS tutorials are coming, just want to spice things up with my favorite editor's config vid. Hope you enjoy it!

    • @naterardin8053
      @naterardin8053 Před 10 měsíci

      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.

    • @dillon4248
      @dillon4248 Před 10 měsíci

      Very professional video content. Keep it up! Came to the channel for Nix. You have converted me sir

    • @ericbiggs597
      @ericbiggs597 Před 10 měsíci +1

      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 👍

    • @vimjoyer
      @vimjoyer  Před 10 měsíci +1

      @@ericbiggs597 I want to make devshell setup videos for popular languages 👍

    • @ericbiggs597
      @ericbiggs597 Před 10 měsíci

      @@vimjoyer Awesome. I'm looking forward to it!

  • @curtispenner2
    @curtispenner2 Před 5 měsíci +1

    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.

  • @garymyers7696
    @garymyers7696 Před 10 měsíci +3

    Great video. I have been wanting to upgrade my VIM setup, and this seems like a great place to start. Thanks!

  • @ZacMagee
    @ZacMagee Před 7 měsíci +2

    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

  • @BvngeeCord
    @BvngeeCord Před 10 měsíci +4

    You are an angel, I will definitely be referring to this when I redo my neovim config :) so concise and clear and helpful.

  • @gungun974
    @gungun974 Před 10 měsíci +4

    So this channel is really a channel about a vim enjoyer !
    Nice ❤

    • @vimjoyer
      @vimjoyer  Před 10 měsíci +1

      Gotta live up to my name)

  • @kr8771
    @kr8771 Před 9 měsíci +1

    a bit dense but certainly a very handy and practical ressource. Thank you!

  • @amfc13
    @amfc13 Před 3 měsíci +1

    These videos are just great. Straight to the point and super clear!

  • @MrRutrum
    @MrRutrum Před 9 měsíci +6

    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.

    • @vimjoyer
      @vimjoyer  Před 9 měsíci +1

      I see that nix + nvim is a highly anticipated video, It is surely coming in the future

  • @apsotik
    @apsotik Před 10 měsíci +2

    Yeaa definitely want more of these ❤

  • @gbember3470
    @gbember3470 Před 10 měsíci +2

    I'm using nvchad, but I've been thinking of making my own config/ide. Thanks mate!

  • @mr.tm-yt
    @mr.tm-yt Před 10 měsíci +1

    Keep going man, you're a legend

  • @caiomorato5848
    @caiomorato5848 Před 7 měsíci +1

    Awesome lecture thank you

  • @uzumakiuchiha7678
    @uzumakiuchiha7678 Před 7 měsíci +1

    I needed this

  • @sharperguy
    @sharperguy Před 7 měsíci +1

    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.

    • @vimjoyer
      @vimjoyer  Před 7 měsíci +2

      nixvim is great, I will definitely make a video about it later

  • @scottiecondon
    @scottiecondon Před 10 měsíci +3

    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?

    • @vimjoyer
      @vimjoyer  Před 10 měsíci +1

      I don't have a nix neovim setup myself, but yes, I want to make a video on it at some point

    • @davixx1995
      @davixx1995 Před 9 měsíci +1

      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).

    • @vimjoyer
      @vimjoyer  Před 9 měsíci +1

      @@davixx1995exactly, same for me

  • @IogaMaster
    @IogaMaster Před 10 měsíci +6

    lsp-zero is a nice plugin that makes lsp pretty easy to configure.

  • @wyfyj
    @wyfyj Před 9 měsíci +1

    Great video

  • @Kraja111
    @Kraja111 Před 5 měsíci +2

    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

  • @user-xj8wj7pt8o
    @user-xj8wj7pt8o Před 9 dny

    great vid! doesnt look like the telescope bindings work though, any ideas?

  • @fulsomenko
    @fulsomenko Před 10 měsíci +2

    thanks

  • @shyam2305
    @shyam2305 Před 10 měsíci +1

    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
      @vimjoyer  Před 10 měsíci

      Lazy is not aware of plugins in after/plugin directory, they are just being called there. And yes, the after/plugin name is fixed.

    • @shyam2305
      @shyam2305 Před 10 měsíci +1

      @@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.

    • @vimjoyer
      @vimjoyer  Před 10 měsíci

      @@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.

  • @heroclix0rz
    @heroclix0rz Před 9 měsíci +2

    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?

    • @vimjoyer
      @vimjoyer  Před 9 měsíci

      Some LSPs do highlight everything, like dartls.

  • @raphaelweis4674
    @raphaelweis4674 Před 10 měsíci +2

    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

    • @vimjoyer
      @vimjoyer  Před 10 měsíci +1

      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

  • @adityamwagh
    @adityamwagh Před 10 měsíci +1

    Which font are you using? Is it JetBrains Mono?

  • @yakomisar
    @yakomisar Před 9 měsíci +1

    Can you please provide a complete guide to set up neovim for Golang+Typescript development?

  • @xyrn23
    @xyrn23 Před 9 měsíci +1

    tbh I just watched this because of gruvbox theme, gruvbox dark is the best colorscheme for me hahaha

  • @saragadamsuresh
    @saragadamsuresh Před 10 měsíci +1

    thank you for the video, neovim setup simplified..please configure which key in this repo

    • @vimjoyer
      @vimjoyer  Před 10 měsíci

      That's a good idea, but then it won't be the same as in video, and might confuse some people.

  • @MarlowCharite
    @MarlowCharite Před měsícem +1

    I want the colorscheme of the example code. That same effect but I can't achieve it

    • @vimjoyer
      @vimjoyer  Před měsícem

      The colorscheme is gruvbox, but the code blocks in the video are not neovim screenshots. They are generated as pngs separately.

  • @awesomesauce1157
    @awesomesauce1157 Před 10 měsíci +1

    I love your content! I'm broke but you should set up a patreon 😭

    • @vimjoyer
      @vimjoyer  Před 10 měsíci +1

      Thanks, I'll consider

    • @Sporesirius
      @Sporesirius Před 10 měsíci

      I would recommend ko-fi, no fees

  • @simonlauer9379
    @simonlauer9379 Před 2 měsíci

    mason sadly does not appear to work at all on nixos

    • @vimjoyer
      @vimjoyer  Před 2 měsíci

      Use nix devshells, they are very convenient

  • @frogelos
    @frogelos Před 8 měsíci +1

    9:24 you have wrong comment at the top indicating after/plugin/cmp.lua while referring to after/plugin/lsp.lua

    • @vimjoyer
      @vimjoyer  Před 8 měsíci

      Thanks for correcting