Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Holo - minimalistic config management

Build Status Coverage Status

Holo is a radically simple configuration management tool that relies as much as possible on package management for the whole system setup and maintenance process. This is achieved by using metapackages to define personal package selections for all systems or for certain types of systems.

Holo has a plugin interface to extend its capabilities. It comes with the following core plugins:

  • holo-files provisions configuration files.
  • holo-run-scripts invokes custom scripts during the provisioning phase.
  • holo-ssh-keys provisions .ssh/authorized_keys.
  • holo-users-groups creates and modifies UNIX user accounts and groups, as stored in /etc/passwd and /etc/group.

If you've written a new plugin, send me a link via the issue tracker and I'll link to it here.


It is recommended to install Holo as a package. The website lists distributions that have a package.

Holo requires Go and Perl as build-time dependencies; and git-diff and shadow as runtime dependencies. Once you're all set, the build is done with

make check
sudo make install


User documentation is available in man page form:

For further information, visit