This script will run the container inside wsl and bind the enviroments variables for [wslg](https://github.com/microsoft/wslg/blob/main/samples/container/Containers.md).
#### Linux
Execute the next script in your terminal replacing `<container_name>` and `<git.1159.cl/mario1159/image>`.
```sh
docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --name <container_name><git.1159.cl/mario1159/image>
```
> For Wayland compositors make sure you have XWayland installed
#### macOS / OS X
Install `Xquartz` and run the linux previous command.
### 2. Connecting to the container
#### Desktop
After creating and starting the container, enter to it executing a shell with docker.
```sh
docker exec -it <container_name> bash
```
#### Web
Connect from the web to the VNC client at `localhost:8444`.
### 3. Configure Volare
List the available PDKs and choose one to install.
| PDK Technology | PDK Variant |
|----------------|-------------|
| sky130 | sky130A |
| | sky130B |
| gf180mcu | gf180mcuA |
| | gf180mcuB |
| | gf180mcuC |
Replace `<pdk_variant>` and `<pdk_tech>` correspondingly by one of the PDKs listed above.
```sh
echo 'export PDK=<pdk_variant>' >> ~/.bashrc
volare ls-remote --pdk <pdk_tech>
volare enable --pdk <pdk_tech><version_id>
```
After you have set up the PDK, you can finally start developing your own designs!
## Installing additional packages
For the arch based images you can install packages from the official arch repository using `pacman`.
```pacman -S <package_name>```
or you can also install packages from the AUR using paru.
```paru <package_name>```
## Custom Images
For creating an image with your own pre-installed set of packages for your team you can create your own docker image extending the stacks, just as the stacks extend the base image. For reference check the stacks dockerfiles in the `stack` folder.
The following sections will get you to build and test any of the included stacks or your own custom image.
### Build
Choose a singular stack image to build using docker for the desktop or the web client and replace the `<stack>` placeholder. Keep in mind that following steps are intended to be run from the repository root path.