Intro

Qix is a declarative software build system for Docker-based robotics environments that generates containerized software stacks from TOML config files.

Qix is a CLI tool that uses a TOML configuration file to automatically generate files such as:

  • Dockerfiles
  • Docker Compose files
  • Bash setup scripts

Setup

  • Install UV

  • Install qix

git clone git@github.gatech.edu:ASDL-Robotics/qix.git
uv tool install ./qix # if you are developing, include the '-e' flag

Qix Stack

A qix stack is a declarative definition of a containerized software environment stored in a qixstack.toml file that can specify:

  • A base container image (Ubuntu, ROS, etc.)

  • System packages to install (APT dependencies)

  • Source repositories to clone (Git dependencies)

  • Build instructions (e.g., colcon workspaces)

  • and more

  • Install a qix stack

qix stack install <path_to_directory>

Qix reads the qixstack.toml file and generates the required container, build, and setup files needed to create the environment.