An open API service indexing awesome lists of open source software.

https://github.com/ryanreece/neovim-config

My personal Neovim config settings
https://github.com/ryanreece/neovim-config

Last synced: 3 months ago
JSON representation

My personal Neovim config settings

Awesome Lists containing this project

README

        

# Neovim Config

This repository contains my personal Neovim config which is based heavily on
the [0 to LSP : Neovim RC From
Scratch](https://www.youtube.com/watch?v=w7i4amO_zaE) YouTube video from
[ThePrimeagen](https://www.youtube.com/@ThePrimeagen).

## Prerequisites

* Zsh
* [Neovim](https://github.com/neovim/neovim) > **0.9.x** ([need to build from
source](https://github.com/neovim/neovim/blob/master/BUILD.md))
* [BurntSushi/ripgrep](https://github.com/BurntSushi/ripgrep)

## Installation

* Clone the repo into `~/.config/nvim/`
* Ensure the prereqs are installed.

## Signing Commits with NeoVim and Fugitive

Since the `:!` operator in Nvim uses pipes and not a tty, interactive processes
such as entering a password to sign commits don't work. To sign commits using
gpg and a password, a pinentry program needs to be configured on the system.

### Windows and WSL2

1. Ensure gpg is installed in WSL2: `sudo apt install gpg gnupg gpg-agent`
2. Ensure the gpg-agent plugin is installed in ohmyzsh
3. Install [GPG4Win](https://www.gpg4win.org/) is installed on the Windows side
to handle password input.
4. Configure the cache ttls and pinentry-program within
`~/.gnupg/gpg-agent.conf`.

```conf
default-cache-ttl 86400 max-cache-ttl 86400
pinentry-program "/mnt/c/Program Files (x86)/GnuPG/bin/pinentry-basic.exe"
```

### Ubuntu Native

Neovim, this config, and any other prerequisites are automatically installed as
part of the
[ansible-linux-day0](https://github.com/ryanreece/ansible-linux-day0)
repository.

### MacOS

1. Install all the prerequisites.
2. Clone this repo to `~/.config/nvim/`
3. Launch Neovim