Immutable dev environment for distrobox. Same image, same tools, any Linux PC.
podmandistrobox- Existing dotfiles in
~/dotfiles(stow-managed) hosts$HOMEis mounted into the container, so your existing symlinks just work.
podman login ghcr.io # once per machine (use a PAT with read:packages)
make create # pulls image, creates distrobox "devcon"
make enterEdit Containerfile, bump TAG in Makefile and image= in
distrobox.ini, then:
make build push # or: push to main and let GH Actions build it
make rebuild # tear down + recreate locallyAfter pushing, grab the pullable digest reference with:
make digest
# ghcr.io/itsachance/dev-container@sha256:4f8e...bc21Paste that full string into distrobox.ini as the image= value:
image=ghcr.io/itsachance/dev-container@sha256:4f8e...bc21Every PC then pulls byte-for-byte the same image. If make digest
says "push first", run make push and try again.
| target | what it does |
|---|---|
build |
build image locally |
push |
push to GHCR |
login |
podman login ghcr.io |
create |
distrobox assemble create --file distrobox.ini |
delete |
distrobox rm -f devcon |
rebuild |
delete + create |
enter |
distrobox enter devcon |
digest |
print pinnable image@sha256:… reference |