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 <your.email@example.com>"]
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy