Skip to content

Latest commit

 

History

History
63 lines (46 loc) · 1.91 KB

README.md

File metadata and controls

63 lines (46 loc) · 1.91 KB

NeoVim Config

NeoVim from the desk of Joshua Jones.

Installation

This configuration has been tested and heavily used on MacOS and Linux systems, so all requirements and instructions will assume as such.

$ mv ~/.config/nvim ~/.config/nvim.bak
$ rm -rf )
$ git clone git@github.com:Jonesy/nvim.git ~/.config/nvim
$ cd ~/.config/nvim
$ nvim

Launching NeoVim will install plugins via Lazy.

Design

This config strives to strike a balance of minimalism and productivity, and is the result of 15 years and going of programming in Vim. It has a slight bent towards web development, primarily frontend-based, but also supports:

  • Zig
  • Lua
  • Go & Templ (basic)
  • Nix
  • Swift
  • PHP
  • Bash
  • and many others to come.

It works great for me, but your mileage may vary. My main motivation in sharing publicly is educational reference.

NeoVim Kickstart was a valuable resource in helping build the stable, minimalist foundation.

Plugins

Plugins are managed following the file-based system, so lua/core/lazy.lua will crawl the lua/plugins directory for files that return a Lazy-formatted table.

Language Servers + Nix - Mason

This config is shared between a MacOS and Nix-based Linux workstation, and I've found Nix devshells do a wonderful job of replacing Mason, so it is only enabled on MacOS systems, and will likely be removed entirely if I end up installing Nix-Darwin on my MacBook Pro. Mason is a terrific plugin, but it's one less plugin and dependency that I need, and Nix provides the added benefit of containerized LSP servers locked to specific versions.

Planned improvements