summaryrefslogtreecommitdiff
path: root/src/Propellor.hs
diff options
context:
space:
mode:
authorJoey Hess2015-10-10 11:40:12 -0400
committerJoey Hess2015-10-10 11:40:12 -0400
commit349e675a499187379ddb14c5f6ce8203de10183e (patch)
tree44f9eed959335dca27bb35947a952c3ca9f97efb /src/Propellor.hs
parentea29beecfeebf304e544ab588da43fa66d83fd43 (diff)
Improved documentation, particularly of the Propellor module.
This involved some code changes, including some renaming of instance methods. (ABI change)
Diffstat (limited to 'src/Propellor.hs')
-rw-r--r--src/Propellor.hs40
1 files changed, 32 insertions, 8 deletions
diff --git a/src/Propellor.hs b/src/Propellor.hs
index 51079ed0..c316c729 100644
--- a/src/Propellor.hs
+++ b/src/Propellor.hs
@@ -1,4 +1,5 @@
{-# LANGUAGE PackageImports #-}
+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
-- | Pulls in lots of useful modules for building and using Properties.
--
@@ -30,18 +31,42 @@
-- git clone <git://git.joeyh.name/propellor>
module Propellor (
- module Propellor.Types
+ -- * Core data types
+ Host(..)
+ , Property
+ , RevertableProperty
+ , (<!>)
+ -- * Defining a Host and its properties
+ , host
+ , (&)
+ , (!)
+ -- * Combining properties
+ -- | Properties are often combined together in your propellor
+ -- configuration. For example:
+ --
+ -- > "/etc/foo/config" `File.containsLine` "bar=1"
+ -- > `requires` File.dirExists "/etc/foo"
+ , requires
+ , before
+ , onChange
+ -- * Included modules
+ , module Propellor.Types
, module Propellor.Property
- , module Propellor.Property.List
+ -- | Everything you need to build your own properties,
+ -- and useful property combinators
, module Propellor.Property.Cmd
+ -- | Properties to run shell commands
+ , module Propellor.Property.List
+ -- | Combining a list of properties into a single property
+ , module Propellor.Types.PrivData
+ -- | Private data access for properties
, module Propellor.PropAccum
, module Propellor.Info
, module Propellor.PrivData
- , module Propellor.Types.PrivData
, module Propellor.Engine
, module Propellor.Exception
, module Propellor.Message
- , localdir
+ , module Propellor.Location
, module X
) where
@@ -57,7 +82,10 @@ import Propellor.Message
import Propellor.Exception
import Propellor.Info
import Propellor.PropAccum
+import Propellor.Location
+-- Things imported as X won't be included in the haddock for this page,
+-- but will be re-exported silently.
import Utility.PartialPrelude as X
import Utility.Process as X
import Utility.Exception as X
@@ -77,7 +105,3 @@ import Control.Monad as X
import Data.Monoid as X
import Control.Monad.IfElse as X
import "mtl" Control.Monad.Reader as X
-
--- | This is where propellor installs itself when deploying a host.
-localdir :: FilePath
-localdir = "/usr/local/propellor"