module Nix.Effects where
import Data.Text (Text)
import Nix.Render
import Nix.Utils
import Nix.Value
import System.Posix.Files
newtype StorePath = StorePath { unStorePath :: FilePath }
class MonadFile m => MonadEffects m where
addPath :: FilePath -> m StorePath
makeAbsolutePath :: FilePath -> m FilePath
findEnvPath :: String -> m FilePath
pathExists :: FilePath -> m Bool
importPath :: AttrSet (NThunk m) -> FilePath -> m (NValue m)
getEnvVar :: String -> m (Maybe String)
getCurrentSystemOS :: m Text
getCurrentSystemArch :: m Text
listDirectory :: FilePath -> m [FilePath]
getSymbolicLinkStatus :: FilePath -> m FileStatus
derivationStrict :: NValue m -> m (NValue m)
nixInstantiateExpr :: String -> m (NValue m)
getURL :: Text -> m (NValue m)
getRecursiveSize :: a -> m (NValue m)
traceEffect :: String -> m ()
exec :: [String] -> m (NValue m)