[[!comment format=mdwn
 username="joey"
 subject="""comment 1"""
 date="2014-12-07T15:58:03Z"
 content="""
I have heard of propellor being used on OSX. Probably that user wrote their
own code for OSX specific stuff.

Propellor properites can be parameterized by OS. Currently it has support
for Debian and some untested support for *buntu. A property can be parameterized
like this:

	foo :: Property
	foo = property "foo" withOS desc $ \o -> case o of
	                (Just (System (Debian _) _)) -> ensureProperty fooDebian
	                (Just (System (Buntish _) _)) -> ensureProperty fooBuntu

The first step for adding a new OS will be to modify <http://hackage.haskell.org/package/propellor/docs/Propellor-Types-OS.html>.
Compilation will then warn about all OS parameterized properties that
need to be updated to support your added OS, and it can be taken from there.

I'll accept reasonable patches to support other OS's.
"""]]
