summaryrefslogtreecommitdiff
path: root/src/Propellor/Types.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Propellor/Types.hs')
-rw-r--r--src/Propellor/Types.hs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Propellor/Types.hs b/src/Propellor/Types.hs
index fc700df0..5904374e 100644
--- a/src/Propellor/Types.hs
+++ b/src/Propellor/Types.hs
@@ -29,6 +29,7 @@ module Propellor.Types
, CombinedType
, combineWith
, Propellor(..)
+ , LiftPropellor(..)
, EndAction(..)
, module Propellor.Types.OS
, module Propellor.Types.Dns
@@ -72,6 +73,15 @@ newtype Propellor p = Propellor { runWithHost :: RWST Host [EndAction] () IO p }
, MonadMask
)
+class LiftPropellor m where
+ liftPropellor :: m a -> Propellor a
+
+instance LiftPropellor Propellor where
+ liftPropellor = id
+
+instance LiftPropellor IO where
+ liftPropellor = liftIO
+
instance Monoid (Propellor Result) where
mempty = return NoChange
-- | The second action is only run if the first action does not fail.