module Propellor.Types.PartSpec where

import Propellor.Property.Parted.Types
import Propellor.Property.Mount

-- | Specifies a mount point, mount options, and a constructor for a
-- Partition that determines its size.
type PartSpec t = (Maybe MountPoint, MountOpts, PartSize -> Partition, t)

-- | Specifies a partition table.
data PartTableSpec = PartTableSpec TableType [PartSpec ()]

instance Show PartTableSpec where
	show :: PartTableSpec -> String
show (PartTableSpec TableType
tt [PartSpec ()]
_) = String
"PartTableSpec " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show TableType
tt