Setting up the development environment

Before building the code, please ensure the dependencies are installed:

  • GTK: >=3.18

  • VTE: 2.91

  • libkeybinder3

See full list of dependencies on the Dependencies page.

The following section describes how to install these dependencies on some systems, please be aware it might not be applicable to yours directly.

Install System dependencies


Execute the following command to bootstrap all needed system dependencies:

$ ./scripts/



$ ./scripts/

Arch Linux


$ ./scripts/

Setup development environment

Install the dependencies of your system and use the following commands:

$ make dev
$ sudo make install-schemas  # still required even for local execution

You can force the interpreter version using the PYTHON_INTERPRETER variable:

$ make dev PYTHON_INTERPRETER=python3.6

Local execution of guake (without system-wide install):

$ make run

Install on system

Use the following command to build and install on your system (in /usr/local/):

$ make dev && make && sudo make install

You can reinstall easily in your environment (only validated for Debian/Ubuntu) with:

$ make reinstall  # will execute `sudo`

Git hook

This project uses pre-commit <> to automatically execute some codestyle tools. It should be automatically installed by the make dev command, you can use make style if you want to run it manually. If you want to pass more options, you can use:

$ pipenv run pre-commit run --all-files