Skip to content

Commit e6f14ae

Browse files
Merge pull request #90 from tony-p/docs/improve-pixi-docs
Correct and improve pixi documentation
2 parents 6896deb + 1e8211c commit e6f14ae

File tree

1 file changed

+49
-22
lines changed

1 file changed

+49
-22
lines changed

docs/GettingStarted.md

Lines changed: 49 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,6 @@ You can install Robostack using either Mamba or Pixi. We recommend using Pixi fo
151151

152152
The command will also automatically add `LocalAppData/pixi/bin` to your path allowing you to invoke `pixi` from anywhere.
153153

154-
!!! warning "PowerShell is not supported"
155-
On Windows, Powershell is not supported, only the Command Prompt terminal is supported.
156-
157154
!!! tip "Prerequisites"
158155
- Windows users need Visual Studio (2019 or 2022) with C++ support
159156
- You can download them here: [https://docs.microsoft.com/en-us/cpp/build/vscpp-step-0-installation?view=msvc-160](https://docs.microsoft.com/en-us/cpp/build/vscpp-step-0-installation?view=msvc-160)
@@ -176,71 +173,86 @@ You can install Robostack using either Mamba or Pixi. We recommend using Pixi fo
176173
```
177174

178175
Open the newly created pixi.toml in your favourite text editor and paste the below configuration into the file (overwriting the configuration created by `pixi init`):
179-
``` bash title="pixi.toml"
176+
```toml title="pixi.toml"
180177
[project]
181178
name = "robostack"
182-
version = "0.1.0"
183179
description = "Development environment for RoboStack ROS packages"
184-
authors = ["Your Name <[email protected]>"]
185180
channels = ["https://prefix.dev/conda-forge"]
186181
platforms = ["linux-64", "win-64", "osx-64", "osx-arm64", "linux-aarch64"]
187182

183+
# This will automatically activate the ros workspace on activation
184+
[target.win.activation]
185+
scripts = ["install/setup.bat"]
186+
187+
[target.unix.activation]
188+
# For activation scripts, we use bash for Unix-like systems
189+
scripts = ["install/setup.bash"]
190+
188191
[target.win-64.dependencies]
189192
# vs2022_win-64 = "*" # Uncomment if using Visual Studio 2022
190193

194+
# To build you can use - `pixi run -e <ros distro> build <Any other temporary args>`
195+
[feature.build.target.win-64.tasks]
196+
build = "colcon build --merge-install --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DPython_FIND_VIRTUALENV=ONLY -DPython3_FIND_VIRTUALENV=ONLY"
197+
198+
[feature.build.target.unix.tasks]
199+
build = "colcon build --symlink-install --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DPython_FIND_VIRTUALENV=ONLY -DPython3_FIND_VIRTUALENV=ONLY"
200+
201+
# Dependencies used by all environments
191202
[dependencies]
192203
python = "*"
204+
# Build tools
193205
compilers = "*"
194206
cmake = "*"
195207
pkg-config = "*"
196208
make = "*"
197209
ninja = "*"
210+
# ROS specific tools
211+
rosdep = "*"
212+
colcon-common-extensions = "*"
198213

199214
[target.linux.dependencies]
200215
libgl-devel = "*"
201216

217+
# Define all the different ROS environments
218+
# Each environment corresponds to a different ROS distribution
219+
# and can be activated using the `pixi run/shell -e <environment>` command.
202220
[environments]
203-
noetic = { features = ["noetic"] }
204-
humble = { features = ["humble"] }
205-
jazzy = { features = ["jazzy"] }
206-
kilted = { features = ["kilted"] }
221+
noetic = { features = ["noetic", "build"] }
222+
humble = { features = ["humble", "build"] }
223+
jazzy = { features = ["jazzy", "build"] }
224+
kilted = { features = ["kilted", "build"] }
207225

208-
# noetic
226+
### ROS Noetic ####
209227
[feature.noetic]
210228
channels = ["https://prefix.dev/robostack-noetic"]
211229

212230
[feature.noetic.dependencies]
213231
ros-noetic-desktop = "*"
214232
catkin_tools = "*"
215-
rosdep = "*"
216233

217-
# humble
234+
### ROS Humble ####
218235
[feature.humble]
219236
channels = ["https://prefix.dev/robostack-humble"]
220237

221238
[feature.humble.dependencies]
222239
ros-humble-desktop = "*"
223-
colcon-common-extensions = "*"
224-
rosdep = "*"
225240

226-
# jazzy
241+
### ROS Jazzy ####
227242
[feature.jazzy]
228243
channels = ["https://prefix.dev/robostack-jazzy"]
229244

230245
[feature.jazzy.dependencies]
231246
ros-jazzy-desktop = "*"
232-
colcon-common-extensions = "*"
233-
rosdep = "*"
234247

235-
# kilted
248+
### ROS Kilted ####
236249
[feature.kilted]
237250
channels = ["https://prefix.dev/robostack-kilted"]
238251

239252
[feature.kilted.dependencies]
240253
ros-kilted-desktop = "*"
241-
colcon-common-extensions = "*"
242-
rosdep = "*"
243254
```
255+
244256
```bash
245257
# Save and exit pixi.toml
246258
pixi install
@@ -346,15 +358,25 @@ After installation, you should test if you are able to run `rviz`/`rviz2` and ot
346358
=== "Pixi"
347359

348360
!!! note
349-
Remember that Pixi environments can only be activated from within your project directory.
361+
Remember if trying to activate the pixi from outside the project directory, provide the path to the pixi.toml with `--manifest-path`.
350362

351363
**ROS1**
352364
```bash title="First terminal"
353365
cd robostack
366+
pixi run -e noetic roscore
367+
```
368+
alternatively,
369+
```bash title="First terminal"
370+
cd robostack
354371
pixi shell -e noetic
355372
roscore
356373
```
357374

375+
```bash title="Second terminal"
376+
cd robostack
377+
pixi run -e noetic rviz
378+
```
379+
alternatively,
358380
```bash title="Second terminal"
359381
cd robostack
360382
pixi shell -e noetic
@@ -364,6 +386,11 @@ After installation, you should test if you are able to run `rviz`/`rviz2` and ot
364386
**ROS2**
365387
```bash title="Terminal"
366388
cd robostack
389+
pixi run -e humble rviz2 # OR jazzy, kilted
390+
```
391+
alternatively,
392+
```bash title="Terminal"
393+
cd robostack
367394
pixi shell -e humble # OR jazzy, kilted
368395
rviz2
369396
```

0 commit comments

Comments
 (0)