blob: f6fa7e76886d27dd162a6b11cca877038d88bc9b (
plain) (
tree)
|
|
version 1 .
embeddedType EntityRef.Cap .
# Gatekeeper step to access a Nix repository.
RepoResolveStep = <nix-repo @detail RepoResolveDetail> .
RepoResolveDetail = {
# Path to a repository to import.
# This string is evaluated so it can include "<…>" paths.
import: string
# List of strings corresponding to entries in NIX_PATH.
# For example:
# [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
# "nixos-config=/etc/nixos/configuration.nix"
# "/nix/var/nix/profiles/per-user/root/channels"
# ]
lookupPath: [string ...]
} & @args RepoArgs & @store RepoStore & @cacheSpace CacheSpace .
# Arguments to call the imported expression with if it is a function.
RepoArgs = @present { args: any } / @absent { } .
# Store uri or capability.
RepoStore = @uri { store: string } / @cap { store: #:any } / @absent { } .
# Common error type.
Error = <error @message any>.
# Represents a Nix derivation.
# The @storePath can be realized as store object from @drvPath.
#
# If an attrset value resulting from evaluation has a "drvPath" attribute
# then a drv record is returned in place of the attrset. Returning the
# attrset is not feasible because otherwise lazy values would explode into
# complete dependency trees.
Derivation = <drv @drvPath string @storePath string> .
# Gatekeeper step to access a Nix store.
StoreResolveStep = <nix-store @detail StoreResolveDetail> .
StoreResolveDetail = {
params: AttrSet
uri: string
} & @cacheSpace CacheSpace .
# A cooperative caching dataspace shared with other Nix stores.
CacheSpace = @cacheSpace { cache: #:any } / @absent { } .
CheckStorePath = <check-path @path string @valid #:bool> .
# Assertion. The store that this asserted to will copy the closure of @storePath to @destination. When the copy completes or fails a Result value is asserted to @result.
CopyClosure = <copy-closure @dest #:any @storePath string @result #:Result>.
AttrSet = {symbol: any ...:...} .
# Value.
Result = Error / <ok @value any>.
|