hnix-0.16.0: Haskell implementation of the Nix language
Safe HaskellNone
LanguageHaskell2010

Nix.Effects

Synopsis

Documentation

newtype StorePath Source #

A path into the nix store

Constructors

StorePath Path 

Instances

Instances details
Convertible e t f m => ToValue StorePath m (NValue' t f m (NValue t f m)) Source # 
Instance details

Defined in Nix.Convert

Methods

toValue :: StorePath -> m (NValue' t f m (NValue t f m)) Source #

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 #

Methods

toAbsolutePath :: Path -> m Path Source #

Determine the absolute path in the current context.

findEnvPath :: String -> m Path Source #

findPath :: [NValue t f m] -> Path -> m Path Source #

Having an explicit list of sets corresponding to the NIX_PATH and a file path try to find an existing path.

importPath :: Path -> m (NValue t f m) Source #

pathToDefaultNix :: Path -> m Path Source #

derivationStrict :: NValue t f m -> m (NValue t f m) Source #

traceEffect :: String -> m () Source #

Instances

Instances details
(MonadEffects t f m, MonadDataContext f m) => MonadEffects t f (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

(MonadFix m, MonadFile m, MonadCatch m, MonadEnv m, MonadPaths m, MonadExec m, MonadHttp m, MonadInstantiate m, MonadIntrospect m, MonadPlus m, MonadPutStr m, MonadStore m, MonadAtomicRef m, Typeable m, Scoped (StdValue m) m, MonadReader (Context m (StdValue m)) m, MonadState (HashMap Path NExprLoc, HashMap Text Text) m, MonadDataErrorContext (StdThunk m) (StdCited m) m, MonadThunk (StdThunk m) m (StdValue m), MonadValue (StdValue m) m) => MonadEffects (StdThunk m) (StdCited m) m Source # 
Instance details

Defined in Nix.Standard

Instances

class MonadIntrospect m

class Monad m => MonadIntrospect m where Source #

Minimal complete definition

Nothing

Methods

recursiveSize :: a -> m Word Source #

default recursiveSize :: (MonadTrans t, MonadIntrospect m', m ~ t m') => a -> m Word Source #

Instances

Instances details
MonadIntrospect IO Source # 
Instance details

Defined in Nix.Effects

Methods

recursiveSize :: a -> IO Word Source #

MonadIntrospect m => MonadIntrospect (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

Methods

recursiveSize :: a -> StdIdT m Word Source #

MonadIntrospect (t (Fix1 t)) => MonadIntrospect (Fix1 t) Source # 
Instance details

Defined in Nix.Effects

Methods

recursiveSize :: a -> Fix1 t Word Source #

(MonadIntrospect r, MonadIntrospect m) => MonadIntrospect (StandardTF r m) Source # 
Instance details

Defined in Nix.Standard

Methods

recursiveSize :: a -> StandardTF r m Word Source #

MonadIntrospect (t (Fix1T t m) m) => MonadIntrospect (Fix1T t m) Source # 
Instance details

Defined in Nix.Effects

Methods

recursiveSize :: a -> Fix1T t m Word Source #

Instances

class MonadExec m

class Monad m => MonadExec m where Source #

Minimal complete definition

Nothing

Methods

exec' :: [Text] -> m (Either ErrorCall NExprLoc) Source #

default exec' :: (MonadTrans t, MonadExec m', m ~ t m') => [Text] -> m (Either ErrorCall NExprLoc) Source #

Instances

Instances details
MonadExec IO Source # 
Instance details

Defined in Nix.Effects

MonadExec m => MonadExec (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

MonadExec (t (Fix1 t)) => MonadExec (Fix1 t) Source # 
Instance details

Defined in Nix.Effects

(MonadExec r, MonadExec m) => MonadExec (StandardTF r m) Source # 
Instance details

Defined in Nix.Standard

MonadExec (t (Fix1T t m) m) => MonadExec (Fix1T t m) Source # 
Instance details

Defined in Nix.Effects

Instances

class MonadInstantiate m

class Monad m => MonadInstantiate m where Source #

Minimal complete definition

Nothing

Instances

Instances details
MonadInstantiate IO Source # 
Instance details

Defined in Nix.Effects

MonadInstantiate m => MonadInstantiate (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

MonadInstantiate (t (Fix1 t)) => MonadInstantiate (Fix1 t) Source # 
Instance details

Defined in Nix.Effects

(MonadInstantiate r, MonadInstantiate m) => MonadInstantiate (StandardTF r m) Source # 
Instance details

Defined in Nix.Standard

MonadInstantiate (t (Fix1T t m) m) => MonadInstantiate (Fix1T t m) Source # 
Instance details

Defined in Nix.Effects

Instances

class MonadEnv m

class Monad m => MonadEnv m where Source #

Minimal complete definition

Nothing

Methods

getEnvVar :: Text -> m (Maybe Text) Source #

default getEnvVar :: (MonadTrans t, MonadEnv m', m ~ t m') => 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

class MonadPaths m

class Monad m => MonadPaths m where Source #

Minimal complete definition

Nothing

Methods

getDataDir :: m Path Source #

default getDataDir :: (MonadTrans t, MonadPaths m', m ~ t m') => m Path Source #

Instances

Instances details
MonadPaths IO Source # 
Instance details

Defined in Nix.Effects

MonadPaths m => MonadPaths (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

MonadPaths (t (Fix1 t)) => MonadPaths (Fix1 t) Source # 
Instance details

Defined in Nix.Effects

(MonadPaths r, MonadPaths m) => MonadPaths (StandardTF r m) Source # 
Instance details

Defined in Nix.Standard

MonadPaths (t (Fix1T t m) m) => MonadPaths (Fix1T t m) Source # 
Instance details

Defined in Nix.Effects

Methods

getDataDir :: Fix1T t m Path Source #

Instances

class MonadHttp m

class Monad m => MonadHttp m where Source #

Minimal complete definition

Nothing

Methods

getURL :: Text -> m (Either ErrorCall StorePath) Source #

default getURL :: (MonadTrans t, MonadHttp m', m ~ t m') => Text -> m (Either ErrorCall StorePath) Source #

Instances

Instances details
MonadHttp IO Source # 
Instance details

Defined in Nix.Effects

MonadHttp m => MonadHttp (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

MonadHttp (t (Fix1 t)) => MonadHttp (Fix1 t) Source # 
Instance details

Defined in Nix.Effects

(MonadHttp r, MonadHttp m) => MonadHttp (StandardTF r m) Source # 
Instance details

Defined in Nix.Standard

MonadHttp (t (Fix1T t m) m) => MonadHttp (Fix1T t m) Source # 
Instance details

Defined in Nix.Effects

Instances

class MonadPutStr m

class (Monad m, MonadIO m) => MonadPutStr m where Source #

Minimal complete definition

Nothing

Methods

putStr :: String -> m () Source #

default putStr :: (MonadTrans t, MonadPutStr m', m ~ t m') => String -> m () Source #

Instances

Instances details
MonadPutStr IO Source # 
Instance details

Defined in Nix.Effects

Methods

putStr :: String -> IO () Source #

MonadPutStr m => MonadPutStr (StdIdT m) Source # 
Instance details

Defined in Nix.Fresh.Basic

Methods

putStr :: String -> StdIdT m () Source #

MonadPutStr (t (Fix1 t)) => MonadPutStr (Fix1 t) Source # 
Instance details

Defined in Nix.Effects

Methods

putStr :: String -> Fix1 t () Source #

(MonadPutStr r, MonadPutStr m) => MonadPutStr (StandardTF r m) Source # 
Instance details

Defined in Nix.Standard

Methods

putStr :: String -> StandardTF r m () Source #

MonadPutStr (t (Fix1T t m) m) => MonadPutStr (Fix1T t m) Source # 
Instance details

Defined in Nix.Effects

Methods

putStr :: String -> Fix1T t m () Source #

Instances

Functions

print :: (MonadPutStr m, Show a) => a -> m () Source #

Store effects

Data type synonyms

type PathFilter m = Path -> m Bool Source #

class MonadStore m

class Monad m => MonadStore m where Source #

Minimal complete definition

Nothing

Methods

addToStore :: StorePathName -> Path -> 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.

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.

Instances

Functions

addPath :: (Framed e m, MonadStore m) => Path -> m StorePath Source #

Add Path into the Nix Store