From Fedora Project Wiki

Setup Development environment

sudo dnf install module-build-service python2-virtualenv
mkdir -p ~/.virtualenvs
virtualenv-2 ~/.virtualenvs/modularity --system-site-packages --prompt='(modularity) '
. ~/.virtualenvs/modularity/bin/activate

sudo dnf install golang
go get -u github.com/openshift/imagebuilder/cmd/imagebuilder

git clone https://pagure.io/forks/otaylor/fm-orchestrator.git
( cd fm-orchestrator && pip install -e . )

git clone https://pagure.io/flatpak-module-tools.git
( cd flatpak-module-tools && pip install -e . )

Check out runtime prototype and example application

fedpkg clone -b f26 modules/flatpak-runtime
fedpkg clone -b f26 modules/eog

Building the runtime from packages previously built in Koji

cd modules/flatpak-runtime

# Creates a flatpak bundle in ~/modulebuild/flatpaks/
flatpak-module create-flatpak --runtime --module flatpak-runtime:f26 --info flatpak.json
flatpak-install --user <path_to_bundle>

(alternative) Building the runtime locally

cd modules/flatpak-runtime

# Downloads gigs of packages into ~/modulebuild/cache/ and writes a build in ~/modulebuild/builds/
mbs-build local
# Creates a flatpak bundle in ~/modulebuild/flatpaks/
flatpak-module create-flatpak --runtime -l flatpak-runtime:f26 --module flatpak-runtime --info flatpak.json
flatpak-install --user <path_to_bundle>

Building the application from packages built in Koji

cd modules/eog
flatpak-module create-flatpak --module eog --info flatpak.json
flatpak-install --user <path_to_bundle>

(alternative) Building the application locally against the local runtime

cd modules/eog
mbs-build local -l flatpak-runtime:f26 
flatpak-module create-flatpak -l flatpak-runtime:f26 -l eog:f26 --module eog --info flatpak.json
flatpak-install --user <path_to_bundle>

Try running the application

flatpak run org.gnome.eog