diff --git a/init.zsh b/init.zsh index 837d368..1f2ceb3 100644 --- a/init.zsh +++ b/init.zsh @@ -260,7 +260,7 @@ source "${ZSH_CONFIG_DIR}/emacs-bookmark.zsh" # Ros2 instll on arch if [[ -d /opt/ros/humble/ ]]; then - ZSH_ROS2_ROOT=/opt/ros/humble/ + # ZSH_ROS2_ROOT=/opt/ros/humble/ source "${ZSH_CONFIG_DIR}/lazy-ros2.zsh" fi diff --git a/lazy-ros2.zsh b/lazy-ros2.zsh index f1d1eab..dbef20b 100644 --- a/lazy-ros2.zsh +++ b/lazy-ros2.zsh @@ -1,6 +1,20 @@ # Lazy-load ros2 stuff -(( ${+ZSH_ROS2_ROOT} )) || return +function __zsh_load_ros2 { + export AMENT_PREFIX_PATH=/opt/ros/humble + export CMAKE_PREFIX_PATH=/opt/ros/humble + export COLCON_PREFIX_PATH=/opt/ros/humble + export ROS_DISTRO=humble + export ROS_LOCALHOST_ONLY=0 + export ROS_PYTHON_VERSION=3 + export ROS_VERSION=2 + export LD_LIBRARY_PATH="/opt/ros/humble/opt/rviz_ogre_vendor/lib:/opt/ros/humble/lib:${LD_LIBRARY_PATH}" + export PATH="/opt/ros/humble/bin:${PATH}" + export PKG_CONFIG_PATH="/opt/ros/humble/lib/pkgconfig:${PKG_CONFIG_PATH}" + export PYTHONPATH="/opt/ros/humble/lib/python3.13/dist-packages/:/opt/ros/humble/lib/python3.13/site-packages:${PYTHONPATH}" +} + +# (( ${+ZSH_ROS2_ROOT} )) || return local defined=() @@ -23,7 +37,7 @@ for exec in ${defined}; do printf 'Setting up ros2 with \"%s\"...\n\n' \\ \"\${(q)ZSH_ROS2_ROOT%/}/setup.zsh\" unfunction ${undef_args} - source \${(q)ZSH_ROS2_ROOT}/setup.zsh || + __zsh_load_ros2 || { echo 'Failed to load ros2 libraries!'; return } (( \${#} == 0 )) && ${(q)exec} || ${(q)exec} \"\${@}\" }"