Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/vhakulinen/gnvim

GUI for neovim, without any web bloat
https://github.com/vhakulinen/gnvim

gtk gui neovim neovim-guis nvim rust text-editor ui

Last synced: about 7 hours ago
JSON representation

GUI for neovim, without any web bloat

Awesome Lists containing this project

README

        


GNvim Logo

GNvim - GTK4 Neovim GUI

Gnvim, opinionated Neovim GUI.


Screenshot of gnvim

_For previous gtk3 version, checkout the `legacy` branch._

# Install

**NOTE**: gnvim requires nvim version 0.10 or higher.

## Flatpak

If you're using flatpak, you can build a GNvim flatpak locally:

```
$ # Install flatpak-builder
$ sudo apt install flatpak-builder
$ make install-flatpak-deps # Install required runtime and SDKs
$ make install-flatpak # Build and install the flatpak
$ # Optional: install gnvim runtime files (i.e. for `lua require('gnvim')`)
$ flatpak run com.github.vhakulinen.gnvim.Devel --install-runtime-files
```

## System

Install system wide:

```
$ # Install cargo (e.g. the rust toolchain)
$ # Install gtk4 and libadwaita dev files, e.g. apt install libgtk-4-dev libadwaita-1-dev (see below)
$ make build
$ sudo make install
```

More detailed instructions regarding gtk4 requirements, see the gtk-rs book's
[instructions](https://gtk-rs.org/gtk4-rs/stable/latest/book/installation.html)).

# Documentation

See `:h gnvim` and/or `runtime/doc/gnvim.txt`.

# Development

Gnvim comes with custom rpc client which uses code generation for generating
bindings to the Neovim API. This is done by the `scripts/generate-bindings.sh`
script and requires the `moreutils` package.