module Rakka.Environment ( Environment(..) , setupEnv ) where import Network import qualified Network.HTTP.Lucu.Config as LC import Rakka.Storage import Rakka.SystemConfig data Environment = Environment { envLocalStateDir :: !FilePath , envLucuConf :: !LC.Config , envStorage :: !Storage , envSysConf :: !SystemConfig } setupEnv :: FilePath -> PortNumber -> IO Environment setupEnv lsdir portNum = do let lucuConf = LC.defaultConfig { LC.cnfServerPort = PortNumber portNum } return $ Environment { envLocalStateDir = lsdir , envLucuConf = lucuConf , envStorage = mkStorage , envSysConf = mkSystemConfig lucuConf }