The snappy playpen
A place to test snapcraft, learn creating snaps and share best practices.
Basic snap and snapcraft notions >
Current project status
- passing means all snaps are automatically built correctly
This project currently includes the following snaps:
State | App | Snap name in the store | Uses |
---|---|---|---|
2048 |
qt5, qml, dump | ||
atom |
[atom-cwayne][atom] | electron, grunt, nodejs | |
baka-mplayer |
qt5, qml, mpv | ||
cloudfoundry-cli |
go | ||
consul |
[consul][consul] | go | |
click-parser |
[click-parser][click-parser] | nodejs | |
cuberite |
cmake | ||
dcos-cli |
python3 | ||
deis-workflow-cli |
go | ||
dekko |
qt5, qml, dump, oxide, cmake | ||
dosbox |
autotools | ||
docker-compose |
python3 | ||
ffmpeg |
autotools | ||
galculator |
autotools, gtk3 | ||
gitter-im |
copy, gtk3, wget | ||
grive |
cmake | ||
healthcheck-toolbox interface |
[healthcheck-toolbox-example][healthcheck-toolbox-example] | dump | |
heroku |
go | ||
hexchat |
[unofficial-hexchat][unofficial-hexchat] | autotools, gtk2, perl, python2, lua | |
idea |
ant, antIntellij, java, openjdk | ||
imagemagick6-stable |
autotools | ||
imagemagick7-git |
autotools | ||
jtiledownloader |
[jtiledownloader][] | dump, jar, java | |
keepassx |
[keepassx-elopio][] | cmake, qt5 | |
kpcli |
[kpcli-elopio][kpcli] | dump, perl | |
kodi-stable |
autotools | ||
leafpad |
autotools, gtk2, lubuntu, xubuntu | ||
mesa-demos |
opengl, opengles, egl | ||
minetest |
cmake, copy | ||
mirageos |
caml, opam, make | ||
moon-buggy |
[moon-buggy][moon-buggy] | curses, autotools | |
mpv |
autotools, waf | ||
openjdk-demo |
java, openjdk | ||
openttd |
dump, qt5 | ||
plank |
autotools, vala | ||
ps-mem |
python3 | ||
qcomicbook |
cmake, qt5 | ||
qdriverstation |
frc, qmake, qt5, robotics | ||
qownnotes |
[qownnotes][qownnotes] | qmake, qt5, tar | |
residualvm |
autotools | ||
ristretto |
qmake, qt5, tar | ||
scummvm |
autotools | ||
shotwell |
autotools, vala | ||
smplayer |
qt5, stage-package | ||
taskwarrior |
dump, cmake | ||
texworks |
dump, qt4, cmake | ||
timewarrior |
cmake | ||
tinyproxy |
dump, daemon, stage-package | ||
tyrant-unleashed-optimizer |
make | ||
ubuntu-clock-app |
[ubuntu-clock-app][clock] | qmake, qt5 | |
ubuntukylin-icon-theme |
copy_and_edit, theme | ||
vault |
[vault-elopio][vault] | go | |
vlc |
autotools | ||
wallpaperdownloader |
[wallpaperdownloader][wallpaperdownloader] | maven, stage-package, snapcraft-desktop-helpers part, gsettings | |
youtube-dl |
autotools, python3 | ||
zsh |
autotools | ||
[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/vault-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>
.
Why?
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
- collaborate on creating snaps
- demonstrate best-practices
- provide an incubator for new projects to be snapped
This is the snappy playpen.
How it all works
No matter if you
- are involved with an upstream project who wants to get their software snapped
- are somebody who is interested in providing a snap for an app
- are working on a device which needs its software snapped
- are somebody who's curious about technology
- think this is interesting
we want you to get involved.
Fixing issues
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.
Adding new snaps
If you are working on a new, interesting snap and
- got it working: follow the guidelines and file a pull request
- need help to get it working: send a mail to the snapcraft mailing list, introduce the project and push up a branch of your playpen fork to github, so others can take a look and help out
Events
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.
Snapping your software
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
.
Getting in touch
If you have questions or want to get to know the people behind snapd
and
friends, there are many ways to get in touch:
- We are on gitter. Just hit us up there, it's easy.
- There is also the snapcraft mailing list.
- If you are on IRC, we are on
#snappy
irc channel on Freenode.
Get in touch and talk to us!
Find more support resources on the Developer Portal.