compileBashrc :: ProjectConfig -> FilePath -> FilePath -> Shake.Action ()
compileBashrc cfg relativeOut out =
    liftIO . Text.writeFile out . mkBashrc cfg $ fromString envName
  where
    envName =
        FilePath.dropTrailingPathSeparator $ FilePath.takeDirectory relativeOut

{-
prepareExecutable :: ProjectConfig -> FilePath -> FilePath -> Shake.Action ()
prepareExecutable cfg relativeOut out = prepareExecutable cfg relativeOut out
-}

-- {{{ Project Configuration File ---------------------------------------------

-- | Failed to parse\/decode YX project configuration cache file.
compileBashrc :: ProjectConfig -> FilePath -> FilePath -> Shake.Action ()
compileBashrc cfg relativeOut out =
    liftIO . Text.writeFile out . mkBashrc cfg $ fromString envName
  where
    envName =
        FilePath.dropTrailingPathSeparator $ FilePath.takeDirectory relativeOut

{-
prepareExecutable :: ProjectConfig -> FilePath -> FilePath -> Shake.Action ()
prepareExecutable cfg relativeOut out = prepareExecutable cfg relativeOut out
-}

-- {{{ Project Configuration File ---------------------------------------------

-- | Failed to parse\/decode YX project configuration cache file.
compileBashrc cfg relativeOut out =
    liftIO . Text.writeFile out . mkBashrc cfg $ fromString envName
  where
    envName =
        FilePath.dropTrailingPathSeparator $ FilePath.takeDirectory relativeOut

{-
prepareExecutable :: ProjectConfig -> FilePath -> FilePath -> Shake.Action ()
prepareExecutable cfg relativeOut out = prepareExecutable cfg relativeOut out
-}

-- {{{ Project Configuration File ---------------------------------------------

-- | Failed to parse\/decode YX project configuration cache file.