cloudy-0.1.0.0: src/Cloudy/Path.hs
module Cloudy.Path where import System.Directory (getXdgDirectory, XdgDirectory (XdgConfig, XdgData), createDirectoryIfMissing) import System.FilePath ( (</>) ) getCloudyConfDir :: IO FilePath getCloudyConfDir = do cloudyConfDirLocal <- getXdgDirectory XdgConfig "cloudy" createDirectoryIfMissing True cloudyConfDirLocal pure cloudyConfDirLocal getCloudyConfFilePath :: IO FilePath getCloudyConfFilePath = do cloudyConfDirLocal <- getCloudyConfDir pure $ cloudyConfDirLocal </> "cloudy.yaml" getCloudyInstanceSetupsDir :: IO FilePath getCloudyInstanceSetupsDir = do cloudyConfDirLocal <- getCloudyConfDir let instanceSetupsDir = cloudyConfDirLocal </> "instance-setups" createDirectoryIfMissing False instanceSetupsDir pure instanceSetupsDir getCloudyDbPath :: IO FilePath getCloudyDbPath = do cloudyStateDirLocal <- getXdgDirectory XdgData "cloudy" createDirectoryIfMissing True cloudyStateDirLocal pure $ cloudyStateDirLocal </> "db.sqlite3"