Skip to content

Commit

Permalink
Add docs for Snap
Browse files Browse the repository at this point in the history
Add a page for Snaps and migrating away from it.
  • Loading branch information
silkeh committed Jul 10, 2024
1 parent 5eb52a4 commit e90973e
Showing 1 changed file with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions docs/user/software/third-party/snap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
title: Snap
summary: Working with Snaps
---

# Snap
:::warning
Note that Snaps are going to be [removed from Solus in the future][2],
and are not fully confined in Solus with kernels newer than 6.9.
See the section on confinement below.
:::

[Snaps][1] are a way of installing third-party packages.
The `snapd` package installs the CLI client that can be used to install and run snaps.

## Confinement warning

Snaps are usually protected using `strict` confinement,
this ensures that Snaps can't access more of your system than needed.
The `snap` command provided by Solus shows a warning when strict confinement is not available.
For example:

> WARNING: snap is running with partial confinement. See https://help.getsol.us/docs/user/software/third-party/snap for details
We recommend [migrating to Flatpak](#migrating-to-flatpak) when possible.
The warning can be silenced by running `sudo snap hide-confinement-warning`.

## Migrating to Flatpak

The `unsnap` package can be used to migrate from Snap to Flatpak.
While it does not actively remove user data in `~/snap` or `/var/lib/snapd`,
we cannot guarantee that no data gets removed on accident.
Please ensure you have system backups that include snap data.

This does not neccesarily preserve/migrate user data, so take care to make a backup beforehand.

Check warning on line 35 in docs/user/software/third-party/snap.md

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (neccesarily)

Run `sudo unsnap` before migrating to see if all your snaps have known equivalents.
Look for lines containing `No equivalent flatpak for <name> found`.
Check out [this issue][3] if you encounter such snaps.

Running `sudo unsnap auto` migrate as many Snaps to Flatpak as possible.
It will also uninstall `snapd` if all snaps were migrated.

If `unsnap` is unable to find an equivalent Flatpak for a snap you have the following options:

- Search for an equivalent Flatpak manually and [report it][3] if possible.
- Install an equivalent tool from the package manager if possible.
- Uninstall the snap manually if it is not needed.

It is possible to rerun `sudo unsnap auto` to finish removing `snapd`.

[1]: https://snapcraft.io/
[2]: https://github.com/getsolus/packages/issues/325
[3]: https://github.com/getsolus/packages/issues/3282

0 comments on commit e90973e

Please sign in to comment.