Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add docs for Snap #555

Merged
merged 1 commit into from
Jul 10, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions docs/user/software/third-party/snap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
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 Linux 6.9 and newer.
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,
ensuring 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.
EbonJaeger marked this conversation as resolved.
Show resolved Hide resolved
EbonJaeger marked this conversation as resolved.
Show resolved Hide resolved

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` will 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