---
title: Install ros2-nav2 on Arch Linux using the Snap Store | Snapcraft
description: Get the latest version of ros2-nav2 for on Arch Linux - The ros2-nav2
  navigation snap
url: https://snapcraft.io/install/ros2-nav2/arch
---

[Canonical Snapcraft](https://snapcraft.io/)

# Install ros2-nav2 on **Arch Linux**

# ros2-nav2

[Ubuntu Robotics Community (ubuntu-robotics-community)](https://snapcraft.io/publisher/ubuntu-robotics-community "View all snaps from Ubuntu Robotics Community (ubuntu-robotics-community)")

* [Ubuntu Robotics Community (ubuntu-robotics-community)](https://snapcraft.io/publisher/ubuntu-robotics-community "View all snaps from Ubuntu Robotics Community (ubuntu-robotics-community)")
* [Devices and IoT](https://snapcraft.io/search?categories=devices-and-iot)

[Install](https://snapcraft.io/install/ros2-nav2/arch#install)

#### The ros2-nav2 navigation snap

The snap provides mapping, localization and navigation capabilities.

The ros2-nav2 snap is designed as a general package that offers navigation functionality for robots.
To ensure maximum flexibility for users, it is intentionally provided without any preset configurations.

The ros2-nav2 snap must be configured by means of snap parameters.
The available configuration parameters are listed below:

```
 - simulation (string, default: "False")
 - slam-config (string, default: "")
 - map-saver-config (string, default: "")
 - map-yaml-path (string, default: "")
 - map (string, default="${SNAP_COMMON}/maps/current_map.yaml")
 - localization-config (string, default: "")
 - navigation-config (string, default: "")
```

The slam-config, localization-config, and navigation-config parameters
are essentials for the proper functioning of these applications.

These parameters must be set either to a local configuration file accessible
within the SNAP environment (such as $SNAP\_COMMON), or to a URL hosting the desired configuration.

Additionally, a set of configuration\_templates is available at `$SNAP_COMMON/configuration_templates`. Those files are only meant to be a template, they can be modified and used by setting them to the parameters. An example of using a template for slam-config is as follows:

`snap set ros2-nav2 slam-config="/var/snap/ros2-nav2/common/configuration_templates/slam_params_template.yaml"`

In case you want to reinitialize the templates, you can simply issue the following command:
ros2-nav2.reset-config-templates

As mentioned, those parameters can also be can also be configured with a URL as follows:

```
 snap set ros2-nav2 <app-name>-config="https://raw.githubusercontent.com/robot-repo/<app-name>_params.yaml"
```

Note: the URL must be reachable by the snap. When using a URL, the configuration file will be downloaded everytime the app is launched.
Therefore a configuration update upstream will be applied with the application relaunch.

The mapping application can be launched as,

```
 snap start ros2-nav2.slam
```

After launching the app, simply drive the robot around until you've mapped the area.
Once finished, stop the mapping with,

```
 snap stop ros2-nav2.slam
```

This will terminate the mapping and automatically
save the map in '${SNAP\_COMMON}/maps/new\_map.{yaml,png}'.

If mapping is not required, a map can also be loaded via the `map-yaml-path` parameter.
The parameter can either be set to a local file with:

```
 snap set ros2-nav2 map-yaml-path="$SNAP_COMMON/maps/map.yaml"
```

Or by means of a URL with:

```
 snap set ros2-nav2 map-yaml-path="https://raw.githubusercontent.com/robot-repo/map.yaml"
```

The image associated to the map is automatically extracted from the yaml file.

With the environment mapped, one can make use of the autonomous navigation.
To do so, start the localisation and navigation with:

```
 snap start ros2-nav2.localization
 snap start ros2-nav2.navigation
```

Those application can be then stopped with:

```
 snap stop ros2-nav2.localization
 snap stop ros2-nav2.navigation
```

### Package name

* ros2-nav2

---

### License

* Apache-2.0

---

### Last updated

* 6 August 2024 - latest/edge
* 9 October 2026 - jazzy/candidate

---

### Contact

* [github.com/ubuntu-robotics/ros2-nav2-snap/issues](https://github.com/ubuntu-robotics/ros2-nav2-snap/issues "https://github.com/ubuntu-robotics/ros2-nav2-snap/issues")

---

### Report a bug

* [github.com/ubuntu-robotics/ros2-nav2-snap/issues](https://github.com/ubuntu-robotics/ros2-nav2-snap/issues "https://github.com/ubuntu-robotics/ros2-nav2-snap/issues")

---

##### Report a Snap Store violation

* [Report this Snap](https://snapcraft.io/install/ros2-nav2/arch#report-snap-modal)

---

## Enable snaps on Arch Linux and install ros2-nav2

Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.

Snaps are discoverable and installable from the [Snap Store](https://snapcraft.io/store), an app store with an audience of millions.

### Enable snapd

On Arch Linux, snap can be installed from the [Arch User Repository (AUR).](https://aur.archlinux.org/packages/snapd/)
The [manual build process](https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_packages) is the Arch-supported
install method for AUR packages, and you’ll need the [prerequisites](https://wiki.archlinux.org/index.php/Arch_User_Repository#Prerequisites)
installed before you can install any AUR package. You can then install snap with the following:

```
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si
```

Once installed, the *systemd* unit that manages the main snap communication socket needs to be enabled:

```
sudo systemctl enable --now snapd.socket
```

If [AppArmor](https://wiki.archlinux.org/title/AppArmor) is enabled in your system, enable the service which loads AppArmor profiles for snaps:

```
sudo systemctl enable --now snapd.apparmor.service
```

To enable *classic* snap support, enter the following to create a symbolic link between `/var/lib/snapd/snap` and `/snap`:

```
sudo ln -s /var/lib/snapd/snap /snap
```

Either log out and back in again, or restart your system, to ensure snap’s paths are updated correctly.

### Install ros2-nav2

To install ros2-nav2, simply use the following command:

```
sudo snap install ros2-nav2 --edge
```

### Other popular snaps…

[See more...](https://snapcraft.io/search?categories=featured)

[See more in Featured](https://snapcraft.io/search?categories=featured)

### More things to do…

#### [Get the snap store](https://snapcraft.io/snap-store)

Browse and find snaps from the convenience of your desktop using the snap store snap.

#### [Learn more about snaps](https://snapcraft.io/docs)

Interested to find out more about snaps? Want to publish your own application? Visit [snapcraft.io](https://snapcraft.io/) now.

[Back to top](https://snapcraft.io/install/ros2-nav2/arch)

© 2026 Canonical Ltd.
Ubuntu and Canonical are registered trademarks of Canonical Ltd.

Powered by [Charmed Kubernetes](https://www.ubuntu.com/kubernetes)

[Join the forum](https://forum.snapcraft.io/), contribute to or report problems with,
[snapd](https://bugs.launchpad.net/snapd),
[Snapcraft](https://bugs.launchpad.net/snapcraft),
or [this site](https://github.com/canonical/snapcraft.io/issues/new).

* [Share on Twitter](https://twitter.com/snapcraftio)
* [Share on Facebook](https://www.facebook.com/snapcraftio)
* [Share on YouTube](https://www.youtube.com/snapcraftio)

* [Terms of Service](https://ubuntu.com/legal/terms-and-policies/snap-store-terms)
* [Data privacy](https://www.ubuntu.com/legal/data-privacy)
* [Manage your tracker settings](https://snapcraft.io/install/ros2-nav2/arch)
* [Service status](https://status.snapcraft.io/)
* [Other functions](https://dashboard.snapcraft.io/)
* [Contact us](https://snapcraft.io/about/contact-us)
