Awesome
pixi_rocker
Continuous Integration Status
Intro
This is a rocker extension for adding pixi to an existing docker image. Look at the rocker GitHub page for more context of how rocker and rocker extensions work, but in a nutshell rocker lets you add custom capabilities to existing docker containers. Rocker extensions
Pixi is a cross-platform package manager based on the conda ecosystem. It provides a simple and performant way of reproducing a development environment and running user defined tasks and workflows. It is more lightweight than docker, but does not provide the same level of isolation or generality.
But Why??
The most common question I get is is why would you need to use pixi in docker as pixi is already taking care of your environment for you. Unfortunately there are some packages/configuration that pixi is not able to handle yet and so one way of handling that is managing those dependencies/configuration in docker and leave the the rest up to pixi.
Another benefit of pixi in docker is that you are more isolated from your host machine and have more flexibility to make changes without worrying about conflicting with other projects.
If you use vscode to attach to your development container it makes it easier to set up specific extensions for each project that don't need to be installed globally.
Installation
pip install pixi-rocker
Usage
To install pixi in an image use the --pixi flag
#add pixi to the ubuntu:22.04 image
rocker --pixi ubuntu:22.04
# add pixi to the nvidia/cuda image
rocker --pixi nvidia/cuda