Snap is a universal package format designed by Canonical, the parent company of Ubuntu. Some people do not like Snap, but it has some advantages.
Often, some applications are only available in the Snap format. This gives you a good enough reason to enable snap in Arch Linux.
I know that AUR has a vast collection of applications but the snap apps often come directly from the developers.
If you want to be able to install Snap applications in Arch Linux, you need to enable snap support first.
There are two ways to do it:
- Enable Snap support using an AUR helper (easier)
- Enable Snap support manually by getting the packages from AUR
Let’s see how to do it.
Method 1. Use an AUR helper to enable Snap
Snap is available in the Arch User Repository as the snapd package. You can install it easily using an AUR helper.
There are many AUR helpers out there, but yay is what I prefer because it has syntax similar to the pacman command.
If you don’t have an AUR installed already, install Yay using the command below (needs git beforehand):
git clone https://aur.archlinux.org/yay
cd yay
makepkg -si
Now that yay is installed, you can install snapd by:
yay -Sy snapd
Yay enables automatic updating of snapd whenever you update your Arch Linux system.
Verify that snap works
To test if snap works fine, install and run the hello-world snap package.
sudo snap install hello-world
hello-world
(or)
sudo snap run hello-world
If it runs fine, then you can install other snap packages easily.
Method 2. Manually build the snap package from AUR
If you do not want to use an AUR helper, you can still get the snapd from the AUR. Let me show the detailed procedure.
You will need to install some build tools first.
sudo pacman -Sy git go go-tools python-docutils
Once you’re done with installing the dependencies, now you can clone the AUR directory, which goes as:
git clone https://aur.archlinux.org/snapd
cd snapd
Then make the snapd package:
makepkg -si
Enter yes when it asks to install other dependency packages.
You have installed the snapd daemon. However, it needs to be enabled to auto start at boot time.
sudo systemctl enable snapd --now
sudo systemctl enable snapd.apparmor --now #start snap applications
sudo ln -s /var/lib/snapd/snap /snap #optional: classic snap support
The major disadvantage of manually building a package is that you have to manually build every time a new update kicks in. Using an AUR helper solves that problem for us.
Conclusion
I prefer pacman and AUR in Arch Linux. It’s rare to see an application that is not in AUR but available in some other formats. Still, using snap could be advantageous in some conditions where you want it directly from the source, like installing Spotify on Arch for example.
I hope you find this tutorial helpful. Let me know if you have any questions.