Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype StorePath = StorePath {}
- class (MonadFile m, MonadStore m, MonadPutStr m, MonadHttp m, MonadEnv m, MonadPaths m, MonadInstantiate m, MonadExec m, MonadIntrospect m) => MonadEffects t f m where
- makeAbsolutePath :: FilePath -> m FilePath
- findEnvPath :: String -> m FilePath
- findPath :: [NValue t f m] -> FilePath -> m FilePath
- importPath :: FilePath -> m (NValue t f m)
- pathToDefaultNix :: FilePath -> m FilePath
- derivationStrict :: NValue t f m -> m (NValue t f m)
- traceEffect :: String -> m ()
- class Monad m => MonadIntrospect m where
- recursiveSize :: a -> m Word
- class Monad m => MonadExec m where
- class Monad m => MonadInstantiate m where
- instantiateExpr :: Text -> m (Either ErrorCall NExprLoc)
- class Monad m => MonadEnv m where
- getEnvVar :: Text -> m (Maybe Text)
- getCurrentSystemOS :: m Text
- getCurrentSystemArch :: m Text
- class Monad m => MonadPaths m where
- getDataDir :: m FilePath
- class Monad m => MonadHttp m where
- class Monad m => MonadPutStr m where
- putStrLn :: MonadPutStr m => String -> m ()
- print :: (MonadPutStr m, Show a) => a -> m ()
- type RecursiveFlag = Bool
- type RepairFlag = Bool
- type StorePathName = Text
- type FilePathFilter m = FilePath -> m Bool
- type StorePathSet = HashSet StorePath
- class Monad m => MonadStore m where
- addToStore :: StorePathName -> FilePath -> RecursiveFlag -> RepairFlag -> m (Either ErrorCall StorePath)
- addTextToStore' :: StorePathName -> Text -> StorePathSet -> RepairFlag -> m (Either ErrorCall StorePath)
- parseStoreResult :: Monad m => Text -> (Either String a, [Logger]) -> m (Either ErrorCall a)
- addTextToStore :: (Framed e m, MonadStore m) => StorePathName -> Text -> StorePathSet -> RepairFlag -> m StorePath
- addPath :: (Framed e m, MonadStore m) => FilePath -> m StorePath
- toFile_ :: (Framed e m, MonadStore m) => FilePath -> String -> m StorePath
- pathExists :: MonadFile m => FilePath -> m Bool
Documentation
A path into the nix store
class MonadEffects t f m
class (MonadFile m, MonadStore m, MonadPutStr m, MonadHttp m, MonadEnv m, MonadPaths m, MonadInstantiate m, MonadExec m, MonadIntrospect m) => MonadEffects t f m where Source #
makeAbsolutePath :: FilePath -> m FilePath Source #
Determine the absolute path of relative path in the current context
findEnvPath :: String -> m FilePath Source #
findPath :: [NValue t f m] -> FilePath -> m FilePath Source #
Having an explicit list of sets corresponding to the NIX_PATH and a file path try to find an existing path
importPath :: FilePath -> m (NValue t f m) Source #
pathToDefaultNix :: FilePath -> m FilePath Source #
derivationStrict :: NValue t f m -> m (NValue t f m) Source #
traceEffect :: String -> m () Source #
Instances
Instances
class MonadIntrospect m
class Monad m => MonadIntrospect m where Source #
Nothing
recursiveSize :: a -> m Word Source #
default recursiveSize :: (MonadTrans t, MonadIntrospect m', m ~ t m') => a -> m Word Source #
Instances
MonadIntrospect IO Source # | |
Defined in Nix.Effects recursiveSize :: a -> IO Word Source # | |
MonadIntrospect m => MonadIntrospect (StdIdT m) Source # | |
Defined in Nix.Fresh.Basic recursiveSize :: a -> StdIdT m Word Source # | |
MonadIntrospect (t (Fix1 t)) => MonadIntrospect (Fix1 t) Source # | |
Defined in Nix.Effects recursiveSize :: a -> Fix1 t Word Source # | |
(MonadIntrospect r, MonadIntrospect m) => MonadIntrospect (StandardTF r m) Source # | |
Defined in Nix.Standard recursiveSize :: a -> StandardTF r m Word Source # | |
MonadIntrospect (t (Fix1T t m) m) => MonadIntrospect (Fix1T t m) Source # | |
Defined in Nix.Effects recursiveSize :: a -> Fix1T t m Word Source # |
Instances
class MonadExec m
class Monad m => MonadExec m where Source #
Nothing
Instances
class MonadInstantiate m
class Monad m => MonadInstantiate m where Source #
Nothing
instantiateExpr :: Text -> m (Either ErrorCall NExprLoc) Source #
default instantiateExpr :: (MonadTrans t, MonadInstantiate m', m ~ t m') => Text -> m (Either ErrorCall NExprLoc) Source #
Instances
MonadInstantiate IO Source # | |
Defined in Nix.Effects | |
MonadInstantiate m => MonadInstantiate (StdIdT m) Source # | |
Defined in Nix.Fresh.Basic | |
MonadInstantiate (t (Fix1 t)) => MonadInstantiate (Fix1 t) Source # | |
Defined in Nix.Effects | |
(MonadInstantiate r, MonadInstantiate m) => MonadInstantiate (StandardTF r m) Source # | |
Defined in Nix.Standard instantiateExpr :: Text -> StandardTF r m (Either ErrorCall NExprLoc) Source # | |
MonadInstantiate (t (Fix1T t m) m) => MonadInstantiate (Fix1T t m) Source # | |
Defined in Nix.Effects |
Instances
class MonadEnv m
class Monad m => MonadEnv m where Source #
Nothing
getEnvVar :: Text -> m (Maybe Text) Source #
getCurrentSystemOS :: m Text Source #
default getCurrentSystemOS :: (MonadTrans t, MonadEnv m', m ~ t m') => m Text Source #
getCurrentSystemArch :: m Text Source #
default getCurrentSystemArch :: (MonadTrans t, MonadEnv m', m ~ t m') => m Text Source #
Instances
MonadEnv IO Source # | |
MonadEnv m => MonadEnv (StdIdT m) Source # | |
MonadEnv (t (Fix1 t)) => MonadEnv (Fix1 t) Source # | |
(MonadEnv r, MonadEnv m) => MonadEnv (StandardTF r m) Source # | |
Defined in Nix.Standard getEnvVar :: Text -> StandardTF r m (Maybe Text) Source # getCurrentSystemOS :: StandardTF r m Text Source # getCurrentSystemArch :: StandardTF r m Text Source # | |
MonadEnv (t (Fix1T t m) m) => MonadEnv (Fix1T t m) Source # | |
Instances
class MonadPaths m
class Monad m => MonadPaths m where Source #
Nothing
getDataDir :: m FilePath Source #
default getDataDir :: (MonadTrans t, MonadPaths m', m ~ t m') => m FilePath Source #
Instances
MonadPaths IO Source # | |
Defined in Nix.Effects getDataDir :: IO FilePath Source # | |
MonadPaths m => MonadPaths (StdIdT m) Source # | |
Defined in Nix.Fresh.Basic getDataDir :: StdIdT m FilePath Source # | |
MonadPaths (t (Fix1 t)) => MonadPaths (Fix1 t) Source # | |
Defined in Nix.Effects getDataDir :: Fix1 t FilePath Source # | |
(MonadPaths r, MonadPaths m) => MonadPaths (StandardTF r m) Source # | |
Defined in Nix.Standard getDataDir :: StandardTF r m FilePath Source # | |
MonadPaths (t (Fix1T t m) m) => MonadPaths (Fix1T t m) Source # | |
Defined in Nix.Effects getDataDir :: Fix1T t m FilePath Source # |
Instances
class MonadHttp m
class Monad m => MonadHttp m where Source #
Nothing
Instances
class MonadPutStr m
class Monad m => MonadPutStr m where Source #
Nothing
putStr :: String -> m () Source #
default putStr :: (MonadTrans t, MonadPutStr m', m ~ t m') => String -> m () Source #
Instances
MonadPutStr IO Source # | |
MonadPutStr m => MonadPutStr (StdIdT m) Source # | |
MonadPutStr (t (Fix1 t)) => MonadPutStr (Fix1 t) Source # | |
(MonadPutStr r, MonadPutStr m) => MonadPutStr (StandardTF r m) Source # | |
Defined in Nix.Standard putStr :: String -> StandardTF r m () Source # | |
MonadPutStr (t (Fix1T t m) m) => MonadPutStr (Fix1T t m) Source # | |
Instances
Functions
putStrLn :: MonadPutStr m => String -> m () Source #
print :: (MonadPutStr m, Show a) => a -> m () Source #
Store effects
Data type synonyms
type RecursiveFlag = Bool Source #
type RepairFlag = Bool Source #
type StorePathName = Text Source #
type FilePathFilter m = FilePath -> m Bool Source #
type StorePathSet = HashSet StorePath Source #
class MonadStore m
class Monad m => MonadStore m where Source #
Nothing
addToStore :: StorePathName -> FilePath -> RecursiveFlag -> RepairFlag -> m (Either ErrorCall StorePath) Source #
Copy the contents of a local path to the store. The resulting store
path is returned. Note: This does not support yet support the expected
filter
function that allows excluding some files.
default addToStore :: (MonadTrans t, MonadStore m', m ~ t m') => StorePathName -> FilePath -> RecursiveFlag -> RepairFlag -> m (Either ErrorCall StorePath) Source #
addTextToStore' :: StorePathName -> Text -> StorePathSet -> RepairFlag -> m (Either ErrorCall StorePath) Source #
Like addToStore, but the contents written to the output path is a regular file containing the given string.
default addTextToStore' :: (MonadTrans t, MonadStore m', m ~ t m') => StorePathName -> Text -> StorePathSet -> RepairFlag -> m (Either ErrorCall StorePath) Source #
Instances
MonadStore IO Source # | |
Defined in Nix.Effects addToStore :: StorePathName -> FilePath -> RecursiveFlag -> RepairFlag -> IO (Either ErrorCall StorePath) Source # addTextToStore' :: StorePathName -> Text -> StorePathSet -> RepairFlag -> IO (Either ErrorCall StorePath) Source # | |
MonadStore m => MonadStore (StdIdT m) Source # | |
Defined in Nix.Fresh.Basic addToStore :: StorePathName -> FilePath -> RecursiveFlag -> RepairFlag -> StdIdT m (Either ErrorCall StorePath) Source # addTextToStore' :: StorePathName -> Text -> StorePathSet -> RepairFlag -> StdIdT m (Either ErrorCall StorePath) Source # | |
(MonadFix1T t m, MonadStore m) => MonadStore (Fix1T t m) Source # | |
Defined in Nix.Effects addToStore :: StorePathName -> FilePath -> RecursiveFlag -> RepairFlag -> Fix1T t m (Either ErrorCall StorePath) Source # addTextToStore' :: StorePathName -> Text -> StorePathSet -> RepairFlag -> Fix1T t m (Either ErrorCall StorePath) Source # |
Instances
Functions
parseStoreResult :: Monad m => Text -> (Either String a, [Logger]) -> m (Either ErrorCall a) Source #
addTextToStore :: (Framed e m, MonadStore m) => StorePathName -> Text -> StorePathSet -> RepairFlag -> m StorePath Source #