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

git clone
( cd fm-orchestrator && pip install -e . )

git clone
( cd flatpak-module-tools && pip install -e . )

Check out runtime prototype and example application

git clone -b f26 modules/flatpak-runtime
git clone -b f26 modules/eog
git clone -b f26 rpms/flatpak-rpm-macros
git clone -b f26 rpms/flatpak-runtime-config

Building and install the runtime

cd modules/flatpak-runtime

# Edit flatpak-runtime.yaml and change file:// URLs to point to rpm-flatpak-macros and rpm-flatpak-config
# checkouts

# 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>

Build and install the application

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

Try running the application

flatpak run org.gnome.eog