A place to test, learn creating snaps and share best practices.
A place to test snapcraft, learn creating snaps and share best practices.
Basic snap and snapcraft notions >
- passing means all snaps are automatically built correctly
This project currently includes the following snaps:
| State | App | Snap name in the store | Uses |
|---|---|---|---|
| :white_check_mark: | 2048 |
qt5, qml, dump | |
| :white_check_mark: | atom |
[atom-cwayne][atom] | electron, grunt, nodejs |
| :white_check_mark: | cloudfoundry-cli |
go | |
| :white_check_mark: | consul |
go | |
| :white_check_mark: | click-parser |
[click-parser][click-parser] | nodejs |
| :white_check_mark: | cuberite |
cmake | |
| :white_check_mark: | dcos-cli |
python3 | |
| :red_circle: | deis-workflow-cli |
go | |
| :white_check_mark: | dosbox |
autotools | |
| :white_check_mark: | docker-compose |
python3 | |
| :white_check_mark: | ffmpeg |
autotools | |
| :white_check_mark: | galculator |
autotools, gtk3 | |
| :white_check_mark: | gitter-im |
copy, gtk3, wget | |
| :red_circle: | heroku |
go | |
| :white_check_mark: | hexchat |
[unofficial-hexchat][unofficial-hexchat] | autotools, gtk2, perl, python2, lua |
| :white_check_mark: | idea |
ant, antIntellij, java, openjdk | |
| :white_check_mark: | imagemagick6-stable |
autotools | |
| :red_circle: | imagemagick7-git |
autotools | |
| :white_check_mark: | jtiledownloader |
[jtiledownloader][] | copy, jar, java |
| :white_check_mark: | keepassx |
[keepassx-elopio][] | cmake, qt5 |
| :white_check_mark: | kpcli |
[kpcli-elopio][kpcli] | copy, perl |
| :white_check_mark: | kodi-stable |
autotools | |
| :white_check_mark: | leafpad |
autotools, gtk2, lubuntu, xubuntu | |
| :white_check_mark: | minetest |
cmake, copy | |
| :white_check_mark: | mirageos |
caml, opam, make | |
| :white_check_mark: | moon-buggy |
[moon-buggy][moon-buggy] | curses, autotools |
| :white_check_mark: | mpv |
autotools, waf | |
| :white_check_mark: | openjdk-demo |
java, openjdk | |
| :white_check_mark: | openttd |
copy, qt5 | |
| :red_circle: | plank |
autotools, vala | |
| :white_check_mark: | ps-mem |
python3 | |
| :white_check_mark: | qcomicbook |
cmake, qt5 | |
| :red_circle: | qdriverstation |
frc, qmake, qt5, robotics | |
| :white_check_mark: | qownnotes |
[qownnotes][qownnotes] | qmake, qt5, tar |
| :white_check_mark: | residualvm |
autotools | |
| :white_check_mark: | ristretto |
qmake, qt5, tar | |
| :white_check_mark: | scummvm |
autotools | |
| :white_check_mark: | shotwell |
autotools, vala | |
| :white_check_mark: | smplayer |
qt5, stage-package | |
| :white_check_mark: | texworks |
dump, qt4, cmake | |
| :white_check_mark: | tinyproxy |
copy, daemon, stage-package | |
| :white_check_mark: | tyrant-unleashed-optimizer |
make | |
| :white_check_mark: | ubuntu-clock-app |
[ubuntu-clock-app][clock] | qmake, qt5 |
| :white_check_mark: | ubuntukylin-icon-theme |
copy_and_edit, theme | |
| :white_check_mark: | vault |
[vault-elopio][vault] | go |
| :white_check_mark: | vlc |
autotools | |
| :white_check_mark: | wallpaperdownloader |
[wallpaperdownloader][wallpaperdownloader] | maven |
| :white_check_mark: | youtube-dl |
autotools, python3 | |
| [atom]: https://uappexplorer.com/app/atom-cwayne.cwayne18 | |||
| [click-parser]: https://uappexplorer.com/app/click-parser.bhdouglass | |||
| [unofficial-hexchat]: https://uappexplorer.com/app/unofficial-hexchat.diddledan | |||
| [jtiledownloader]: https://uappexplorer.com/app/jtiledownloader.ogra | |||
| [keepassx-elopio]: https://uappexplorer.com/app/keepassx-elopio.elopio | |||
| [kpcli]: https://uappexplorer.com/app/kpcli-elopio.elopio | |||
| [moon-buggy]: https://uappexplorer.com/app/moon-buggy.dholbach | |||
| [qownnotes]: https://uappexplorer.com/app/qownnotes.pbek | |||
| [clock]: https://uappexplorer.com/app/ubuntu-clock-app.ubuntucoredev | |||
| [vault]: https://uappexplorer.com/app/kpcli-elopio.elopio | |||
| [wallpaperdownloader]: https://uappexplorer.com/app/wallpaperdownloader.egarcia |
If the apps is listed in the second column, you can easily install it from the
store by just running: sudo snap install <snap name>.
As snapd and its underlying technologies are new and we want to figure the
best use of it together, we want to create a space, where we collectively
This is the snappy playpen.
No matter if you
we want you to get involved.
If you want to provide a fix for one of the apps in this repository, simply
follow our contributor guidelines and file a pull request.
If you are working on a new, interesting snap and
Over time we want to have “sprints”, in which we focus on a certain piece of
software, or where we invite interested upstream developers. We are going to
announce these on the snapcraft mailing list.
The best place to get started with snapd and snapcraft is on the
http://snapcraft.io. Check out the examples, and simply by running
snapcraft init you should be on the way to creating your first snap.
In the beginning it is a good idea to use
confinement: devmode
in your snapcraft.yaml declaration. It will relax the security requirements
so you can get your snap fully working first and then look into the
security bits next. Just set the confinement value to strict
when you are done.
If you are collaborating with a team of developers on your snap, you might
want to run your snap build using snapcraft cleanbuild once you’re happy with
everything. It will make sure that the build also passes in a clean container.
This way you will avoid surprises about missing build-packages and other
local modifications.
Once everything is fully working, consider asking the upstream project to add
your snapcraft.yaml file to their repository. Publishing to the store is
easy. Maybe they are going to be interested in knowing that that for every new
release or milestone, a new snap in the store is only a matter of
running snapcraft upload.
If you have questions or want to get to know the people behind snapd and
friends, there are many ways to get in touch:
#snappy irc channel on Freenode.Get in touch and talk to us!
Find more support resources on the Developer Portal.