pkgs.snapToolspkgs.snapTools is a set of functions for creating Snapcraft images. Snap and Snapcraft is not used to perform these operations.
The makeSnap FunctionmakeSnap takes a single named argument, meta. This argument mirrors the upstream snap.yaml format exactly.
The base should not be be specified, as makeSnap will force set it.
Currently, makeSnap does not support creating GUI stubs.
Build a Hello World SnapMaking a Hello World Snap
The following expression packages GNU Hello as a Snapcraft snap.
nix-build this expression and install it with snap install ./result --dangerous. hello will now be the Snapcraft version of the package.
Build a Hello World SnapMaking a Graphical Snap
Graphical programs require many more integrations with the host. This example uses Firefox as an example, because it is one of the most complicated programs we could package.
nix-build this expression and install it with snap install ./result --dangerous. nix-example-firefox will now be the Snapcraft version of the Firefox package.
The specific meaning behind plugs can be looked up in the Snapcraft interface documentation.