Nuvola Core Developer Kit
Nuvola Core Developer Kit (Nuvola CDK) is a Flatpak runtime for the development of the Nuvola itself. There is also Nuvola App Developer Kit for the development of Web App scripts for the Nuvola Apps runtime.
Nuvola CDK
- contains all dependencies to build and run Nuvola;
- is based on the same GNOME SDK runtime as the Nuvola flatpak package;
- is easy to install;
- and is mostly isolated from your system.
Having trouble? Are these instructions confusing? Do have a question? We'd like to help! Post a question in the nuvola-player-devel mailing list.
In case you come here again later, this will help you to find out what has changed since then.
- November 10th, 2018: Nuvola CDK no longer ships LxTerminal.
-
September 15th, 2018:
- Flatpak packaging of Nuvola CDK has changed. You may need to update your Bash aliases.
- Installation instructions were simplified.
-
January 19th, 2018:
- Nuvola uses GNOME Platform 3.26.
- The master branch of CDK contains dependencies to build ValaCEF.
- The master branch of CDK includes JavaScript Standard Code Style checker (a command
standard
). - Added instructions how to build ValaCEF.
- Install Flatpak and XDG Desktop Portal
- Add Flathub repository:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
- Add Nuvola Flatpak repository:
flatpak remote-add nuvola https://dl.tiliado.eu/flatpak/nuvola.flatpakrepo
- Then install Nuvola CDK from the master or stable branch.
- From the master branch -
flatpak install nuvola eu.tiliado.NuvolaCdk//master
- From the stable branch -
flatpak install nuvola eu.tiliado.NuvolaCdk//stable
These instructions assume that you have checked out the Diorite git repository at ~/projects/diorite
, the ValaCEF git repository at ~/projects/valacef
(for, the Nuvola git repository at ~/projects/nuvola
and the Nuvola SDK git repository at ~/projects/nuvolasdk
. Change these paths according to your needs.
mkdir ~/projects
cd projects/
git clone git@github.com:tiliado/diorite.git diorite
git clone git@github.com:tiliado/valacef.git valacef
git clone git@github.com:tiliado/nuvolaplayer.git nuvola
git clone git@github.com:tiliado/nuvolasdk.git nuvolasdk
It is convenient to set a following alias (e.g. in ~/.bash_aliases
):
alias nuvola-cdk="flatpak run -d --filesystem=~/projects eu.tiliado.NuvolaCdk"
In a new shell (or after source ~/.bash_aliases
), you can type nuvola-cdk
to launch Bash from Nuvola CDK environment but in the current terminal emulator.
It might be helpful to configure Bash in the CDK:
$ nano ~/.bashrc
# Change prompt
export PS1="\$? \A \[\e[33m\]\w\[\e[m\]\n\\$ "
# History - ignore duplicates and commands with leading spaces
HISTCONTROL=ignoreboth
$ . ~/.bashrc
Build Diorite library inside the Nuvola CDK environment (nuvola-cdk
):
cd ~/projects/diorite
. setup_env.sh
rebuild
Then set DIORITE_PATH
:
$ nano ~/.bashrc
...
export DIORITE_PATH="$HOME/projects/diorite"
...
$ . ~/.bashrc
Build ValaCEF library inside the Nuvola CDK environment (nuvola-cdk
):
cd ~/projects/valacef
make rebuild
Then set VALACEF_PATH
:
$ nano ~/.bashrc
...
export VALACEF_PATH="$HOME/projects/valacef"
...
$ . ~/.bashrc
Make sure DIORITE_PATH
and VALACEF_PATH
is set in ~/.bashrc
. Then build Nuvola in a new Nuvola CDK shell (not in that of Diorite library).
cd ~/projects/nuvola
. setup_nuvolacdk.sh
rebuild
run-service
run-app ~/project/my-nuvola-apps/my-app-1
...
There is no need to build/install Nuvola SDK. However, you have to set a proper PYTHONPATH
and use python3 -m nuvolasdk
instead of a plain nuvolasdk
(or create an alias).
$ nano ~/.bashrc
...
export PYTHONPATH="$HOME/projects/nuvolasdk"
alias nuvolasdk="python3 -m nuvolasdk"
...
$ . ~/.bashrc
$ nuvolasdk --help