Skip to content

AstraLuma/unholy

Repository files navigation

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

  • Unholy itself (I suggest using pipx)
  • Git
  • The Docker CLI
  • socat
  • Neovide

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.

About

The unholy union of docker compose, neovim, and neovide

Topics

Resources

Stars

Watchers

Forks

Languages