This is the community maintained fork of ungleich's cdist (after f061fb1).

Work is split between three repositories:

  • cdist - implementation of the cdist core (this repository).
  • cdist-conf - essential explorers and types.
  • cdist-extra - non-essential explorers, types, scripts, tools etc.

Difference between essential and non-essential? Explorers and types which are used to manage state of the operating system (modify files and directories, install packages, manage services, etc.) and are not strictly related to some specific piece of software are considered essential.

Getting Started

Since this fork is still in early stages, there will be no versioned releases for now.

Everything is expected to be used straight from the repositories.

We are currently targetting cdist power users who already know what they are doing, so expect some rough edges.

Get core with essentials

git clone --recurse-submodules
ln -s "$PWD/cdist/bin/cdist" "$HOME/.local/bin/cdist"

NB Your PATH may not contain $HOME/.local/bin/, so modify this line accordingly.

To update cdist/conf submodule later:

git submodule update --remote cdist/conf

Get everything

NB Don't copy-paste following lines carelessly into your terminal - existing ~/.cdist.cfg will be overwritten.

git clone
git clone
git clone
ln -s "$PWD/cdist/bin/cdist" "$HOME/.local/bin/cdist"
cat > "$HOME/.cdist.cfg" << EOF
conf_dir = $HOME/.cdist:$PWD/cdist-extra:$PWD/cdist-conf
GitHub - cdist-community/cdist at
cdist - “community edition”. Contribute to cdist-community/cdist development by creating an account on GitHub.