22
33A self-contained, ** portable** Neovim environment: [ LazyVim] ( https://github.com/LazyVim/LazyVim )
44plus the full dev toolchain (LSPs/formatters/linters) ** and** AI coding agents,
5- all baked into one podman image. Launch the agents from inside nvim.
5+ all baked into one podman image. Launch the agents from inside nvim — or run
6+ ` claude ` / ` codex ` / ` agy ` directly when you just want the agent.
67
78Runs identically on the Hypercube Linux desktop, a remote box, and macOS — no
89distrobox required.
@@ -24,8 +25,12 @@ distrobox required.
2425
2526## How it works
2627
27- ` scripts/nvim.sh ` runs the image as an ephemeral ` podman ` container and mounts
28- only what's needed:
28+ ` scripts/sandbox.sh ` runs the image as an ephemeral ` podman ` container and
29+ mounts only what's needed. It dispatches on the name it's invoked as: installed
30+ as ` nvim ` it launches the editor, and it's symlinked to ` claude ` , ` codex ` , and
31+ ` agy ` so those run the matching agent directly in the same container. All share
32+ the home volume below, so an AI login from any one entry point works in all of
33+ them. The mounts:
2934
3035| Mounted in | Purpose |
3136| ---| ---|
@@ -46,14 +51,15 @@ Clipboard uses **OSC 52** through the terminal, so yank/paste works locally
4651## Setup (Hypercube)
4752
4853``` bash
49- ujust nvim-setup # pull image + install the 'nvim' wrapper to ~/.local/bin
50- nvim file.rs # launch
54+ ujust nvim-setup # pull image + install the nvim + agent wrappers to ~/.local/bin
55+ nvim file.rs # launch the editor
56+ claude # ...or run an agent directly (also: codex, agy)
5157```
5258
5359| Command | Description |
5460| ---------| -------------|
55- | ` ujust nvim-setup ` | pull image + install the ` nvim ` wrapper |
56- | ` ujust nvim-upgrade ` | pull the latest image + refresh the wrapper |
61+ | ` ujust nvim-setup ` | pull image + install the ` nvim ` , ` claude ` , ` codex ` , ` agy ` wrappers |
62+ | ` ujust nvim-upgrade ` | pull the latest image + refresh the wrappers |
5763| ` ujust nvim-reset ` | drop the home volume to re-seed (clears plugin state + AI logins) |
5864| ` ujust nvim-shell ` | debug shell inside a throwaway sandbox container |
5965
@@ -63,7 +69,9 @@ No `ujust` needed — install the wrapper by hand:
6369
6470``` bash
6571podman pull ghcr.io/binarypie-dev/nvim-dev:latest
66- install -m 0755 dot_files/nvim/scripts/nvim.sh ~ /.local/bin/nvim
72+ install -m 0755 dot_files/nvim/scripts/sandbox.sh ~ /.local/bin/nvim
73+ # Symlink the agent wrappers (the script dispatches on its invoked name):
74+ for agent in claude codex agy; do ln -sf nvim ~ /.local/bin/$agent ; done
6775nvim
6876```
6977
0 commit comments