Skip to content

spago

state: experimental
maintainers: @DavHau

Introduction

Options

deps

All dependencies of the package. This option should be set by the "outer world" and can be used to inherit attributes from pkgs or inputs etc.

By separating the task of retrieving things from the outside world, it is ensured that the dependencies are overridable. Nothing will stop users from adding nixpkgs itself as a dependency, but this will make it very hard for the user of the package to override any dependencies, because they'd have to figure out a way to insert their changes into the Nixpkgs fixpoint. By adding specific attributes to deps instead, the user has a realistic chance of overriding those dependencies.

So deps should be specific, but not overly specific. For instance, the caller shouldn't have to know the version of a dependency in order to override it. The name should suffice. (e.g. nix = nixVersions.nix_2_12 instead of inherit (nixVersions) nix_2_12.

type lazy attribute set of raw value
source dream2nix/modules/dream2nix/mkDerivation/interface.nix, dream2nix/modules/dream2nix/core/deps
default
{ }
example
{nixpkgs, ...}: {
  inherit (nixpkgs) stdenv;
  inherit (nixpkgs.haskellPackages) pandoc;
}

deps.stdenv

The stdenv used for building this package

type raw value
source dream2nix/modules/dream2nix/mkDerivation/interface.nix

env

environment variables passed to the build environment

type attribute set of (null or boolean or signed integer or string or path or package or list of (boolean or signed integer or string or path or package))
source dream2nix/modules/dream2nix/core/env
default
{ }

lock.content

The content of the lock file. All fields declared via lock.fields are contained pointing to their respective values.

type anything
source dream2nix/modules/dream2nix/core/lock/interface.nix

lock.extraScripts

Extra shell scripts to execute when nix run .#{package}.lock is called.

This allows adding custom logic to the lock file generation.

type list of path
source dream2nix/modules/dream2nix/core/lock/interface.nix
default
[ ]

lock.fields

Fields of the lock file

type attribute set of (submodule)
source dream2nix/modules/dream2nix/core/lock/interface.nix
default
{ }
example
{
  pname = true;
  version = true;
}

lock.fields.<name>.default

The default value in case the lock file doesn't exist or doesn't yet contain the field.

type null or anything
source dream2nix/modules/dream2nix/core/lock/interface.nix
default
null

lock.fields.<name>.script

A script to refresh the value of this lock file field. The script should write the result as json file to $out.

type path
source dream2nix/modules/dream2nix/core/lock/interface.nix

lock.invalidationData

Pass any data that should invalidate the lock file when changed. This is useful for example when the lock file should be regenerated when the requirements change.

type anything
source dream2nix/modules/dream2nix/core/lock/interface.nix
default
{ }
example
{
  pip = {
    lockVersion = "2";
    requirements = [
      "requests"
      "pillow"
    ];
  };
}

lock.isValid

Check whether the current lock file is valid, which means we don't need to lock again.

type boolean (read only)
source dream2nix/modules/dream2nix/core/lock/interface.nix

lock.lib.computeFODHash

Helper function to write the hash of a given FOD to $out.

type function that evaluates to a(n) path (read only)
source dream2nix/modules/dream2nix/core/lock/interface.nix

lock.refresh

Script to refresh the lock file

type package (read only)
source dream2nix/modules/dream2nix/core/lock/interface.nix

mkDerivation.__contentAddressed

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.__darwinAllowLocalNetworking

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.__impureHostDeps

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.__propagatedImpureHostDeps

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.__structuredAttrs

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.allowSubstitutes

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.allowedReferences

type null or (list of string)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.allowedRequisites

type null or (list of string)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.args

type null or (list of (string or path))
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.buildFlags

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.buildInputs

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.buildPhase

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.builder

type null or string or path or package or (submodule)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.checkFlags

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.checkInputs

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.checkPhase

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.checkTarget

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.cmakeFlags

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.configureFlags

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.configurePhase

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.configurePlatforms

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.configureScript

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.depsBuildBuild

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.depsBuildBuildPropagated

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.depsBuildTarget

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.depsBuildTargetPropagated

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.depsHostHost

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.depsHostHostPropagated

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.depsTargetTarget

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.depsTargetTargetPropagated

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.disallowedReferences

type null or (list of string)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.disallowedRequisites

type null or (list of string)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.distFlags

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.distPhase

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.distTarget

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.doCheck

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.doDist

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.doInstallCheck

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontAddDisableDepTrack

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontAddPrefix

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontAddStaticConfigureFlags

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontBuild

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontConfigure

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontCopyDist

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontDisableStatic

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontFixLibtool

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontFixup

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontInstall

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontMakeSourcesWritable

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontMoveBin

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontPatch

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontPatchELF

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontPatchShebangs

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontPruneLibtoolFiles

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontStrip

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontStripHost

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontStripTarget

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.dontUnpack

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.enableParallelBuilding

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.enableParallelChecking

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.exportReferenceGraph

type null or (list of (string or package))
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.fixupPhase

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.forceShare

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.hardeningDisable

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.hardeningEnable

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.impureEnvVars

type null or (list of string)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.installCheckFlags

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.installCheckInputs

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.installCheckPhase

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.installCheckTarget

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.installFlags

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.installPhase

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.installTargets

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.makeFlags

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.makefile

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.mesonFlags

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.meta

type null or (attribute set)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
{ }

mkDerivation.nativeBuildInputs

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.nativeCheckInputs

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.outputHash

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.outputHashAlgo

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.outputHashMode

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.outputs

type null or (list of string)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
[
  "out"
]

mkDerivation.passAsFile

type null or (list of string)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.passthru

type null or (attribute set)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
{ }

mkDerivation.patchFlags

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.patchPhase

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.patches

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.phases

type null or (list of string)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.pos

type null or (attribute set)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
{ }

mkDerivation.postBuild

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.postCheck

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.postConfigure

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.postDist

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.postFixup

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.postInstalCheck

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.postInstall

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.postPatch

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.postPhases

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.postUnpack

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preBuild

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preBuildPhases

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preCheck

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preConfigure

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preConfigurePhases

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preDist

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preDistPhases

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preFixup

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preFixupPhases

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preInstall

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preInstallCheck

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preInstallPhases

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.prePatch

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.prePhases

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preUnpack

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.preferLocalBuild

type null or (list of string)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.prefix

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.prefixKey

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.propagatedBuildInputs

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.propagatedNativeBuildInputs

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.propagatedSandboxProfile

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.realBuilder

type null or string or path or package or (submodule)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.requiredSystemFeatures

type null or (list of string)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.sandboxProfile

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.separateDebugInfo

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.setSourceRoot

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.setupHook

type null or string or path or package or (submodule)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.shellHook

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.sourceRoot

type null or string or path or package or (submodule)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.src

type null or string or path or package or (submodule)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.srcs

type null or (list of (string or path or package))
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.strictDeps

type null or boolean
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.stripAllFlags

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.stripAllList

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.stripDebugFlags

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.stripDebugList

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.tarballs

type null or (list of anything)
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.unpackCmd

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

mkDerivation.unpackPhase

type null or string
source dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
null

name

The name of the package

type string
source dream2nix/modules/dream2nix/core/ui/interface.nix

paths.cacheFile

Path to the eval cache file of the current package. Relative to "${paths.projectRoot}/${paths.package}"".

type string
source dream2nix/modules/dream2nix/core/paths/interface.nix
default
"cache.json"

paths.lockFile

Path to the lock file of the current package. Relative to "${paths.projectRoot}/${paths.package}"".

type string
source dream2nix/modules/dream2nix/core/paths/interface.nix
default
"lock.json"

paths.package

Path to the directory containing the definition of the current package. Relative to 'paths.projectRoot'.

This helps locating package definitions for lock & update scripts.

type path or string
source dream2nix/modules/dream2nix/core/paths/interface.nix

paths.projectRoot

Path to the root of the project on which dream2nix operates. Must contain the marker file specified by 'paths.projectRootFile'

This helps locating lock files at evaluation time.

type path
source dream2nix/modules/dream2nix/core/paths/interface.nix
example
./.

paths.projectRootFile

File name to look for to determine the root of the project. Ensure 'paths.projectRoot' contains a file named like this.

This helps locating package definitions for lock & update scripts.

type string
source dream2nix/modules/dream2nix/core/paths/interface.nix
default
".git"
example
".git"

public

The final result of the evaluated package. Contains everything that nix expects from a derivation. Contains fields like name, outputs, drvPath, outPath, etc. Can be build with nix-build or nix build.

type lazy attribute set of anything
source dream2nix/modules/dream2nix/core/public/interface.nix, dream2nix/modules/dream2nix/core/docs

public.docs

The manual of the package as a website

type package (read only)
source dream2nix/modules/dream2nix/core/docs

spago.sources

type lazy attribute set of package
source dream2nix/modules/dream2nix/WIP-spago/interface.nix

spago.spagoYamlFile

type path
source dream2nix/modules/dream2nix/WIP-spago/interface.nix
default
"\${config.mkDerivation.src}/spago.yaml"

version

The version of the package

type string
source dream2nix/modules/dream2nix/core/ui/interface.nix