Nix-robotml: Nix-based dev/deploy shells for ros2 + ml (github.com)

🤖 AI Summary
AksSri’s nix-robotml repo provides Nix flake shells tailored for combined ROS2 + ML development, letting you spin up reproducible, local dev shells (like venv) and also build container images directly from those flakes for deployment — without relying on upstream base images. The setup addresses the common pain of ROS requiring Ubuntu/Docker and ML stacks needing CUDA and specific Python deps by using Nix’s declarative, hermetic environment management. Quick examples: git clone …; nix develop .#ros or .#ml; run ros2 topic list or python -c 'import jax.numpy as jnp'. Optional helpers include NixGL for CUDA on non‑NixOS, nix‑direnv for caching, and Docker/Podman with NVIDIA CTK for GPU containers. Key technical notes and implications: this approach produces deterministic builds and images (nix build .#docker.x86_64-linux → podman load …), improving reproducibility and portability for robotics+ML pipelines. Because Nix is declarative and has no runtime package manager, rosdep can’t be used as on Ubuntu — the repo documents a workaround (rosdep keys --from-paths … | sed …) whose output you paste into ros-shell.nix before colcon build. For AI/ML practitioners, nix-robotml reduces containerization friction, makes CUDA-enabled, ROS2-compatible environments easier to reproduce, and lets teams ship exact build artifacts instead of ad-hoc Docker images.
Loading comments...
loading comments...