Skip to content

Latest commit

 

History

68 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This Neovim config is written from scratch and is my daily driver for 95% of my programming work. The main focus of this Neovim config is to stay close to the native Neovim experience while still providing some nice-to-haves. My personal motivation for this is to avoid my annoyance of having to essentially relearn Neovim anytime I attempt to edit some files on a remote server or some other machine with a default-like Neovim config.

Compatibility

This config is built mainly for Arch-based Linux distributions, but may work on many other distributions (no guarantees provided). I have no clue about this config's MacOS and Windows support (so assume unsupported). The install script only works on Arch-based Linux distributions.

Language servers and parsers

The language servers and parsers for the following languages are installed by default:

Language Mason package Language server
Bash bash-language-server bashls
C clangd clangd
C++ clangd clangd
C# csharp-language-server csharp_ls
CSS css-lsp cssls
Go gopls gopls
HTML html-lsp html
JavaScript vtsls vtsls
JSON json-lsp jsonls
JSX vtsls vtsls
Lua lua-language-server lua_ls
Markdown marksman marksman
Python pyright pyright
Rust rust-analyzer rust_analyzer
TOML taplo taplo
Tailwind CSS tailwindcss-language-server tailwindcss
TypeScript vtsls vtsls
TSX vtsls vtsls
XML lemminx lemminx
YAML yaml-language-server yamlls

Dependencies

The following are the config's dependencies:

The installation script (see Installation: Method A) should automatically install all the required dependencies. The Go, npm, and .NET CLIs are used to install the language server binaries.

Installation

There are multiple ways of installing the config. Method A is automatic and recommended if supported by your system.

Method A (Arch-based Linux distros only) (automatic) (recommended)

The command below executes an install script and should automagically install the Neovim config and its dependencies. It only works on Arch-based Linux distributions using pacman. A backup of your current Neovim config is automatically created before installation happens.

curl -L "https://raw.githubusercontent.com/borgaar/nvim/main/install.sh" | /bin/bash

Method B (manual)

Warning

Do not install Tree-sitter CLI from NPM.

  1. Create a backup of your current config if you have one:
    mv "$HOME/.config/nvim" "$HOME/.config/nvim.backup"
  2. Make sure you have Neovim v0.12.0+. If not, install it.
  3. Make sure you have installed the following and that they are in your PATH:
  4. Install the Neovim config itself:
    git clone "https://github.com/borgaar/nvim" "$HOME/.config/nvim"

About

My Neovim config built from scratch.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages