Metadata-Version: 2.3
Name: mimchine
Version: 0.25.0
Summary: well integrated mini machines with rootless podman
Author: redthing1
Author-email: redthing1@alt.icu
Requires-Python: >=3.9,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: minlog (>=0.6.0,<0.7.0)
Requires-Dist: platformdirs (>=4.2.0,<5.0.0)
Requires-Dist: sh (>=2.2.2,<3.0.0)
Requires-Dist: single-source (>=0.4.0,<0.5.0)
Requires-Dist: tomli (>=2.0.1,<3.0.0) ; python_version < "3.11"
Requires-Dist: tomli-w (>=1.0.0,<2.0.0)
Requires-Dist: typer (>=0.15.2,<0.16.0)
Description-Content-Type: text/markdown


# mimchine

well-integrated **mini-machines**; a portable linux that has all your data dirs mounted. inspired by [distrobox](https://github.com/89luca89/distrobox) and powered by podman.

## what it's about

sometimes, i want a linux terminal development environment on macos, and i want all my data magically linked in. so that i can cd to a source directory and seamlessly build it.

with the power of containers, we can do just that. we run a linux userspace of our choice (fully customizable by a dockerfile), and mount in all our directories.

mimchine makes the above super easy. just build a machine image, create a container, then run `mimchine shell` and you're in!

## setup

### linux

should be all good to go

### macos

ensure podman machine is initialized as such:

```sh
podman machine init --volume /Users --volume /Volumes
podman machine stop && ulimit -n unlimited && podman machine start
```

## usage

### build a mimchine image

```sh
mimchine build -f ./demo/mim_fed.docker -n mim_fed
```

### create a mimchine

```sh
mimchine create -n mim_fed -H ~/Downloads
```

### open a shell in a mimchine

```sh
mimchine shell -c mim_fed
```

### destroy a mimchine

```sh
mimchine destroy -c mim_fed -f
```

