---
title: Compiling
description: How to compile Conky from source
indexWeight: 0
---

For contributor builds, Conky uses [mise](https://mise.jdx.dev/) to install the
pinned developer tools. From the repository root, run:

```shell-session
mise install
mise run doctor
mise run configure
mise run build
mise run test
```

`mise run doctor` checks for native libraries that still come from your system
package manager, such as X11, Cairo, Lua, Imlib2, librsvg, ncurses, and libxml2.

If you want to run CMake manually or customize build options, the direct CMake
flow is:

1. From the top-level source directory, create a build directory and change
   into it:

```shell-session
mkdir build
cd build
```

2. Run the CMake configuration step:

```shell-session
cmake ../ # pass the path to the sources to cmake
```

OR

```shell-session
ccmake ../ # use the ncurses interface instead, or try cmake-gui
```

3. Build and install as usual:

```shell-session
make
sudo make install # optional
```

Conky provides a number of build options. The easiest way to explore them is to
use `ccmake` or `cmake-gui`.

Some build-time features, such as documentation generation, require third-party
tools. CMake will usually tell you when one is missing. For documentation
generation, you will need the `docbook2X` package, which is available on most
distributions.
