# neovim config

`neovim` configuration files.

## Usage

1. Install depencencies
    * See one of the Dockerfiles in `dockerfiles` for the necessary packages
    * Use a patched font (see, e.g., [nerd fonts](https://www.nerdfonts.com/))
2. Clone repository into configuration directory:
    ```bash
    $ git clone ssh://git@git.mercurial-manifold.eu:2224/an.tsouchlos/config-nvim.git ~/.config/nvim
    ```
3. If desired, configure github copilot by running `:Copilot setup`

## Build docker images

### Arch linux

Because AUR package installation requires the `fakeroot` command, which is
extremely slow when [no limit has been set on the maximum number of file
descriptors](https://github.com/moby/moby/issues/45436), the image has to
be build using the `--ulimit "nofile=1024:1048576"` option:

```bash
$ docker build . -f dockerfiles/Dockerfile.archlinux --ulimit "nofile=1024:1048576" -t config
$ docker run --rm -it config
```

### Ubuntu

Because neovim is installed through an `AppImage`, the container has to be
started with `--privileged` to be able to run `nvim`.

```bash
$ docker build . -f dockerfiles/Dockerfile.ubuntu -t config
$ docker run --rm -it --privileged config
```
