I wanted to start using propellor in the most simple way and the requirement to have a GPG key, signed commits, propellor updating itself, and so on was way too much to start with. So I wrote this Haskell file: module Main where import Propellor import Propellor.Engine import qualified Propellor.Property.Apt as Apt main :: IO () main = mainProperties myHost myHost :: Host myHost = host "local" $ props & Apt.installed [ "etckeeper" , "git" , "rsync" , "tmux" , "tree" , "unattended-upgrades" , "zsh" ] And then used the Debian package *entr* to scp the executable to a test server and have it executed there: echo mytest-exe | entr scp /_ mytesthost: and on the test host: echo mytest-exe | entr sudo ./mytest-exe Maybe somebody finds this useful as a starting point to learn propellor.