hnix-store-core-0.1.0.0: Core effects for interacting with the Nix store.

MaintainerShea Levy <shea@shealevy.com>
Safe HaskellNone
LanguageHaskell2010

System.Nix.Store

Description

 
Synopsis

Documentation

data PathName Source #

The name portion of a Nix path.

Must be composed of a-z, A-Z, 0-9, +, -, ., _, ?, and =, can't start with a ., and must have at least one character.

Instances
Eq PathName Source # 
Instance details

Defined in System.Nix.Path

Ord PathName Source # 
Instance details

Defined in System.Nix.Path

Show PathName Source # 
Instance details

Defined in System.Nix.Path

Hashable PathName Source # 
Instance details

Defined in System.Nix.Path

Methods

hashWithSalt :: Int -> PathName -> Int #

hash :: PathName -> Int #

pathNameContents :: PathName -> Text Source #

The contents of the path name

pathName :: Text -> Maybe PathName Source #

Construct a PathName, assuming the provided contents are valid.

type PathHashAlgo = Truncated 20 SHA256 Source #

The hash algorithm used for store path hashes.

data Path Source #

A path in a store.

Constructors

Path !(Digest PathHashAlgo) !PathName 
Instances
Eq Path Source # 
Instance details

Defined in System.Nix.Path

Methods

(==) :: Path -> Path -> Bool #

(/=) :: Path -> Path -> Bool #

Ord Path Source # 
Instance details

Defined in System.Nix.Path

Methods

compare :: Path -> Path -> Ordering #

(<) :: Path -> Path -> Bool #

(<=) :: Path -> Path -> Bool #

(>) :: Path -> Path -> Bool #

(>=) :: Path -> Path -> Bool #

max :: Path -> Path -> Path #

min :: Path -> Path -> Path #

Show Path Source # 
Instance details

Defined in System.Nix.Path

Methods

showsPrec :: Int -> Path -> ShowS #

show :: Path -> String #

showList :: [Path] -> ShowS #

Hashable Path Source # 
Instance details

Defined in System.Nix.Path

Methods

hashWithSalt :: Int -> Path -> Int #

hash :: Path -> Int #

data StoreEffects rootedPath validPath m Source #

Interactions with the Nix store.

rootedPath: A path plus a witness to the fact that the path is reachable from a root whose liftime is at least as long as the rootedPath reference itself, when the implementation supports this.

validPath: A rootedPath plus a witness to the fact that the path is valid. On implementations that support temporary roots, this implies that the path will remain valid so long as the reference is held.

m: The monad the effects operate in.

Constructors

StoreEffects 

Fields