Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abenz1267/neoconf
Cli-Tool to handle Neovim configuration.
https://github.com/abenz1267/neoconf
cli configuration neovim nvim packages plugin
Last synced: about 1 month ago
JSON representation
Cli-Tool to handle Neovim configuration.
- Host: GitHub
- URL: https://github.com/abenz1267/neoconf
- Owner: abenz1267
- License: mit
- Archived: true
- Created: 2021-03-14T19:07:01.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-03-25T17:25:23.000Z (over 3 years ago)
- Last Synced: 2024-09-25T07:32:44.191Z (about 2 months ago)
- Topics: cli, configuration, neovim, nvim, packages, plugin
- Language: Go
- Homepage:
- Size: 46.9 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![made-with-Go](https://img.shields.io/badge/Made%20with-Go-1f425f.svg)](http://golang.org)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/Naereen/StrapDown.js/graphs/commit-activity)
[![GitHub go.mod Go version of a Go module](https://img.shields.io/github/go-mod/go-version/abenz1267/neoconf)](https://github.com/abenz1267/neoconf)
[![GoReportCard example](https://goreportcard.com/badge/github.com/abenz1267/neoconf)](https://goreportcard.com/report/github.com/abenz1267/neoconf)# Neoconf - Neovim Config-Tool
Neoconf is a CLI-Tool to help configuring [Neovim](https://github.com/neovim/neovim).
## WIP
It is highly WIP so use at own risk.
## Goals
1. Lua-Free configuration: no need to open the actual configuration files
2. Flexible integration: run from terminal or as a Neovim plugin
3. Abstraction for config: no obscure values you have to google/:help to find out what they do
4. sensible defaults
5. helpers, f.e. install language servers
6. database of plugins incl. installations / stars, searchable## Basics
Simply make sure neoconf is in your `$PATH`. Download the binary from here or build from source:
```
git clone https://github.com/abenz1267/neoconf
cd neoconf
go install
```1. `init`: looks for all required folders/files and creates them, if they don't already exist. Also installs all plugins listed in the "plugins.json" file.
## Plugin Management
Barebone management of plugins is in place! Not defining a branch explicitly -> neoconf will first try to clone `master`, if that fails it will try to clone `main`. Right now it is not possible to define `opt` packages. Installation & updates are processed concurrently.
### Commands:
1. `install ...`: installs all plugins provided and all missing plugins from 'plugins.json'. Creates plugin configuration-file under `lua/plugins`
1. Branch: `glepnir/galaxyline.nvim@SOMEBRANCH`
2. ....what about post-install hooks, bro? This is a bit sub-optimal at the moment: neoconf will look for a `cd DIR && yarn install` or `yarn install` command in the repository's README file. I'd definitely prefer a `config.json` file with meta-data to be parsed, but this would require work from maintainers.
2. `update`: updates all plugins
3. `clean`: removes plugins not found in "plugins.json", removes `.lua` from `lua/plugins`
4. `remove`: this will list all plugins installed and prompt you to enter the index of the plugins you want to remove. Does not remove plugin config. Automatically.
5. `list`: Simply lists all plugins installed.## Todo
- Configuration management (editor configuration, ...plugin configuration?)
- create a database in order to be able to search for plugins
- neovim plugin!