penrods / snappy-playpen

A place to test, learn creating snaps and share best practices.

Home Page:http://developer.ubuntu.com/desktop

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The snappy playpen

A place to test snapcraft, learn creating snaps and share best practices.

Get started >

Basic snap and snapcraft notions >

Current project status

Build 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
hellogl cmake, opengl
hellomako python
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
kdenlive cmake, qt5, opengl
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:

Get in touch and talk to us!

Find more support resources on the Developer Portal.

About

A place to test, learn creating snaps and share best practices.

http://developer.ubuntu.com/desktop

License:MIT License


Languages

Language:Shell 57.2%Language:Python 37.7%Language:Makefile 1.8%Language:Ruby 1.3%Language:C 1.1%Language:CMake 0.9%