A ROS 2 (Jazzy) workspace set up with Pixi + RoboStack, so it runs on any Linux (including Arch) without building ROS from source.
Install pixi, then:
pixi install # reproduces the exact ROS + toolchain env from pixi.lockThat's it — no system ROS, no AUR, no root. Everything lives in .pixi/ (gitignored).
pixi shell # enter the ROS environment
colcon build # build packages (run from this dir, NOT src/)
source install/setup.zsh # zsh shell — use setup.bash for bashDrives a turtlesim turtle to a goal point (a simple proportional controller — the same shape as real mobile-robot navigation).
# terminal 1
ros2 run turtlesim turtlesim_node
# terminal 2 (after sourcing install/setup.zsh)
ros2 run turtle_goto go_to_goal
# custom goal:
ros2 run turtle_goto go_to_goal --ros-args -p goal_x:=2.0 -p goal_y:=9.0- Source the right shell flavor:
setup.zshfor zsh,setup.bashfor bash. Sourcing the wrong one fails with a confusing "no such file" error. - Source in every new terminal before
ros2 runcan find your packages. - Build from the workspace root (
ros_ws), never from insidesrc/. - Wayland + Qt GUIs:
QT_QPA_PLATFORM=xcbis set inpixi.tomlso rqt/rviz work via XWayland (RoboStack's Qt has no native Wayland plugin).
src/turtle_goto/ # the go-to-goal C++ package (versioned)
pixi.toml # environment definition (versioned)
pixi.lock # exact pinned versions (versioned)
.pixi/ build/ install/ log/ # generated — gitignored