Neovim Starter Setup Guide

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ส.ค. 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...

ความคิดเห็น • 60

  • @vimjoyer
    @vimjoyer  ปีที่แล้ว +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 ปีที่แล้ว

      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 11 หลายเดือนก่อน

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

    • @ericbiggs597
      @ericbiggs597 11 หลายเดือนก่อน +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  11 หลายเดือนก่อน +1

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

    • @ericbiggs597
      @ericbiggs597 11 หลายเดือนก่อน

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

  • @curtispenner2
    @curtispenner2 7 หลายเดือนก่อน +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.

  • @ZacMagee
    @ZacMagee 9 หลายเดือนก่อน +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

  • @garymyers7696
    @garymyers7696 ปีที่แล้ว +3

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

  • @BvngeeCord
    @BvngeeCord ปีที่แล้ว +4

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

  • @amfc13
    @amfc13 5 หลายเดือนก่อน +1

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

  • @kr8771
    @kr8771 10 หลายเดือนก่อน +1

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

  • @MrRutrum
    @MrRutrum 11 หลายเดือนก่อน +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  11 หลายเดือนก่อน +1

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

  • @gungun974
    @gungun974 ปีที่แล้ว +4

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

    • @vimjoyer
      @vimjoyer  ปีที่แล้ว +1

      Gotta live up to my name)

  • @gbember3470
    @gbember3470 ปีที่แล้ว +2

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

  • @mr.tm-yt
    @mr.tm-yt 11 หลายเดือนก่อน +1

    Keep going man, you're a legend

  • @apsotik
    @apsotik ปีที่แล้ว +2

    Yeaa definitely want more of these ❤

  • @caiomorato5848
    @caiomorato5848 9 หลายเดือนก่อน +1

    Awesome lecture thank you

  • @IogaMaster
    @IogaMaster ปีที่แล้ว +6

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

  • @uzumakiuchiha7678
    @uzumakiuchiha7678 9 หลายเดือนก่อน +1

    I needed this

  • @Kraja111
    @Kraja111 6 หลายเดือนก่อน +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

  • @wyfyj
    @wyfyj 11 หลายเดือนก่อน +1

    Great video

  • @sharperguy
    @sharperguy 8 หลายเดือนก่อน +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  8 หลายเดือนก่อน +1

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

  • @scottiecondon
    @scottiecondon ปีที่แล้ว +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  ปีที่แล้ว +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 11 หลายเดือนก่อน +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  11 หลายเดือนก่อน +1

      @@davixx1995exactly, same for me

  • @fulsomenko
    @fulsomenko ปีที่แล้ว +2

    thanks

  • @user-xj8wj7pt8o
    @user-xj8wj7pt8o 2 หลายเดือนก่อน

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

  • @xyrn23
    @xyrn23 11 หลายเดือนก่อน +1

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

    • @vimjoyer
      @vimjoyer  11 หลายเดือนก่อน +2

      agree

  • @heroclix0rz
    @heroclix0rz 11 หลายเดือนก่อน +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  11 หลายเดือนก่อน

      Some LSPs do highlight everything, like dartls.

  • @raphaelweis4674
    @raphaelweis4674 11 หลายเดือนก่อน +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  11 หลายเดือนก่อน +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

  • @shyam2305
    @shyam2305 11 หลายเดือนก่อน +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  11 หลายเดือนก่อน

      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 11 หลายเดือนก่อน +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  11 หลายเดือนก่อน

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

  • @adityamwagh
    @adityamwagh 11 หลายเดือนก่อน +1

    Which font are you using? Is it JetBrains Mono?

    • @vimjoyer
      @vimjoyer  11 หลายเดือนก่อน

      It is

  • @yakomisar
    @yakomisar 11 หลายเดือนก่อน +1

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

    • @vimjoyer
      @vimjoyer  11 หลายเดือนก่อน

      possible

  • @MarlowCharite
    @MarlowCharite 2 หลายเดือนก่อน +1

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

    • @vimjoyer
      @vimjoyer  2 หลายเดือนก่อน

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

  • @awesomesauce1157
    @awesomesauce1157 ปีที่แล้ว +1

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

    • @vimjoyer
      @vimjoyer  ปีที่แล้ว +1

      Thanks, I'll consider

    • @Sporesirius
      @Sporesirius ปีที่แล้ว

      I would recommend ko-fi, no fees

  • @saragadamsuresh
    @saragadamsuresh 11 หลายเดือนก่อน +1

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

    • @vimjoyer
      @vimjoyer  11 หลายเดือนก่อน

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

  • @simonlauer9379
    @simonlauer9379 4 หลายเดือนก่อน

    mason sadly does not appear to work at all on nixos

    • @vimjoyer
      @vimjoyer  4 หลายเดือนก่อน

      Use nix devshells, they are very convenient

  • @frogelos
    @frogelos 10 หลายเดือนก่อน +1

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

    • @vimjoyer
      @vimjoyer  10 หลายเดือนก่อน

      Thanks for correcting