Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/peter-bread/peter.nvim

My Neovim Config
https://github.com/peter-bread/peter.nvim

linux lua macos neovim neovim-conf neovim-config neovim-configuration nvim

Last synced: about 1 month ago
JSON representation

My Neovim Config

Awesome Lists containing this project

README

        

# peter.nvim



GitHub Issues or Pull Requests by label

My first proper Neovim config.

> [!NOTE]
> Intended for use on MacOS and Linux.

## Requirements

> [!NOTE]
> I don't think this list is exhaustive right now, hopefully one day it will be!

- git
- lua
- neovim (+ it's dependencies)
- [fd](https://github.com/sharkdp/fd), [ripgrep](https://github.com/BurntSushi/ripgrep) (for telescope)
- any tools needed to install or run tools from mason:
- node
- cargo
- python
- go
- ruby
- java

## Install

Clone the repository.

```sh
git clone https://github.com/peter-bread/peter.nvim.git ~/.config/nvim
```

> [!TIP]
> Be sure to back up any existing Neovim files.

## Structure

### Languages

Programming languages are configured in two places:

- [`lua/plugins/languages`](https://github.com/peter-bread/peter.nvim/tree/main/lua/plugins/languages): plugin configuration
- [`after/ftplugin`](https://github.com/peter-bread/peter.nvim/tree/main/after/ftplugin): extra configuration (e.g. `vim.bo`, snippets)

You can use [`require("peter.util.new_lang")`](https://github.com/peter-bread/peter.nvim/blob/main/lua/util/new_lang.lua) to access a wrapper module that simplifies
some plugin setup for progamming languages.

It is useful for:

- treesitter (installing parsers)
- mason (package manager for external editor tooling, e.g. lsp, formatters, etc.)
- lspconfig (setting up LSP)
- format (setting up formating)
- lint (setting up linting)
- test (set up testing)
- dap (set up debugging)

On top of that, you can include other plugins, but you need to set them up manually.