packages feed

nix-freeze-tree-0.1.1.0: src/BuilderDirs.hs

module BuilderDirs (BuilderDirs (..), currentDir) where

import Control.Applicative (liftA2)
import Control.Monad.Trans.Reader (ReaderT, asks)
import Path (Abs, Dir, Path, Rel, (</>))

data BuilderDirs = BuilderDirs
  { _root :: Path Abs Dir,
    _subdir :: Path Rel Dir
  }

currentDir :: ReaderT BuilderDirs IO (Path Abs Dir)
currentDir = liftA2 (</>) (asks _root) (asks _subdir)