AstraLuma / unholy

The unholy union of docker compose, neovim, and neovide
https://unholy.readthedocs.io/
3 stars 1 forks source link
dev-container dev-containers docker docker-compose neovide neovim

unholy

Cooperates with Docker Compose, injects an nvim-based container into it, and connects neovide to it.

You can call it what you'd like, but I'm going to call this union unholy.

Requirements

Usage

  1. Commit an Unholyfile to your repo (see below)
  2. Run unholy new <git url>
  3. Work on your project using unholy shell and unholy neovide

Use unholy remake to rebuild your development environment without re-cloning your repo or touching your work.

Note: By default, the name of the Unholy project is the repo name.

Unholyfile

A major aspect of unholy is the Unholyfile. It is a script with TOML head matter, like so:

---
[dev]
image="python"
---
pip install pytest

The complete headmatter schema is loosely documented in core.Unholyfile.

The script supports a #!, defaulting to #!/bin/sh

If you specify a non-default image, it must be Debian-based.

Additional config

Local configuration (including project definitions) are stored in the XDG Config directory (default ~/.config/unholy).

There is a global ~/.config/unholy/Unholy applied to all projects. This is an excellent place for personal settings (like utilities you like or nvim configuration).

Each project gets an ~/.config/<name>.Unholyfile where unholy keeps git and Docker settings. You can add some local project overrides here.