There are example flake.nix files which do different things in: ./ros-pi ./ros-vm ./ros2-nix-example There is an associated README.md file with explanations in each folder.