{-# LANGUAGE TemplateHaskell #-} module Puppet.Language.Paths where import XPrelude data PuppetDirPaths = PuppetDirPaths { _baseDir :: FilePath -- ^ Puppet base working directory , _manifestPath :: FilePath -- ^ The path to the manifests. , _modulesPath :: FilePath -- ^ The path to the modules. , _templatesPath :: FilePath -- ^ The path to the template. , _testPath :: FilePath -- ^ The path to a tests folders to hold tests files such as the pdbfiles. } makeClassy ''PuppetDirPaths puppetPaths :: FilePath -> PuppetDirPaths puppetPaths basedir = PuppetDirPaths basedir manifestdir modulesdir templatedir testdir where manifestdir = basedir <> "/manifests" modulesdir = basedir <> "/modules" templatedir = basedir <> "/templates" testdir = basedir <> "/tests"