dotfiles/v/README.md -rw-r--r-- 2.0 KiB
87367171Hugo Osvaldo Barrera vulkan: Install intel drivers on x86_64 20 hours ago


This neovim setup is a major part of my IDE, the other component being foot, zsh, fzf, fd, ag, grep, and many other useful command line tools.

This flake pulls neovim itself plus language servers and tree sitters. A flake is, amongst other things, a recipe for a package, specifying all dependencies.

For language servers, the usual approach is to install them via the system package manager. Including them as dependencies for this flake means that the entire setup can easily be installed in other distributions without having to deal with installing the language servers themselves separately.

For tree-sitters, neovim's plugin includes support for building from source but this is not very clean. Instead, this setup pulls them in as dependencies too.

My neovim configuration remains standalone. This makes it a much more "normal" neovim config, easing collaboration and sharing with others.


Read all the contents of the flake, and make sure you get an idea of how it's structured. Never use this without vaguely understanding how to tinker it.


Install nix, a cross-platform package manager.

#Running a local copy for hacking

This does require Nix installed locally.

  • git clone https://git.sr.ht/~whynothugo/dotfiles
  • cd dotfiles/v/
  • nix run .

Or run it from anywhere else with:

nix run /path/to/clone/of/dotfiles/`


  • nix profile install git+https://git.sr.ht/~whynothugo/dotfiles?dir=v


  • git clone https://git.sr.ht/~whynothugo/dotfiles
  • cd dotfiles/v/
  • nix profile install .

This will install neovim itself, language servers and tree sitters, but not the configuration itself. The configuration is in ../home/.config/nvim/. Neovim reads its config from $HOME/.config.nvim/, so creating a symlink there is the simplest approach.

All packages are installed in the Nix store and won't interfere with any existing system packages.