Skip to content

rust-crane

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/core/deps, dream2nix/modules/dream2nix/mkDerivation/interface.nix, dream2nix/modules/dream2nix/rust-crane/interface.nix
default
{ }
example
{nixpkgs, ...}: {
  inherit (nixpkgs) stdenv;
  inherit (nixpkgs.haskellPackages) pandoc;
}

deps.cargo

The Cargo package to use

type package
source dream2nix/modules/dream2nix/rust-crane/interface.nix

deps.crane.buildDepsOnly

The function to use when building dependencies of a package

type function that evaluates to a(n) package
source dream2nix/modules/dream2nix/rust-crane/interface.nix

deps.crane.buildPackage

The function to use when building packages

type function that evaluates to a(n) package
source dream2nix/modules/dream2nix/rust-crane/interface.nix

deps.craneSource

Source to use for crane functions

type path
source dream2nix/modules/dream2nix/rust-crane/interface.nix

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

rust-crane.buildFlags

Flags to add when running cargo build and cargo check

type list of string
source dream2nix/modules/dream2nix/rust-crane/interface.nix
default
[ ]

rust-crane.buildProfile

The profile to use when running cargo build and cargo check

type string
source dream2nix/modules/dream2nix/rust-crane/interface.nix
default
"release"

rust-crane.depsDrv

A single derivation with all dependencies of the package

type submodule
source dream2nix/modules/dream2nix/rust-crane/interface.nix
default
{ }

rust-crane.depsDrv.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/core/deps, dream2nix/modules/dream2nix/mkDerivation/interface.nix
default
{ }
example
{nixpkgs, ...}: {
  inherit (nixpkgs) stdenv;
  inherit (nixpkgs.haskellPackages) pandoc;
}

rust-crane.depsDrv.deps.stdenv

The stdenv used for building this package

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

rust-crane.depsDrv.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
{ }

rust-crane.depsDrv.mkDerivation.__contentAddressed

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

rust-crane.depsDrv.mkDerivation.__darwinAllowLocalNetworking

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

rust-crane.depsDrv.mkDerivation.__impureHostDeps

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

rust-crane.depsDrv.mkDerivation.__propagatedImpureHostDeps

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

rust-crane.depsDrv.mkDerivation.__structuredAttrs

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

rust-crane.depsDrv.mkDerivation.allowSubstitutes

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

rust-crane.depsDrv.mkDerivation.allowedReferences

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

rust-crane.depsDrv.mkDerivation.allowedRequisites

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

rust-crane.depsDrv.mkDerivation.args

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

rust-crane.depsDrv.mkDerivation.buildFlags

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

rust-crane.depsDrv.mkDerivation.buildInputs

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

rust-crane.depsDrv.mkDerivation.buildPhase

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

rust-crane.depsDrv.mkDerivation.builder

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

rust-crane.depsDrv.mkDerivation.checkFlags

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

rust-crane.depsDrv.mkDerivation.checkInputs

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

rust-crane.depsDrv.mkDerivation.checkPhase

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

rust-crane.depsDrv.mkDerivation.checkTarget

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

rust-crane.depsDrv.mkDerivation.cmakeFlags

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

rust-crane.depsDrv.mkDerivation.configureFlags

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

rust-crane.depsDrv.mkDerivation.configurePhase

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

rust-crane.depsDrv.mkDerivation.configurePlatforms

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

rust-crane.depsDrv.mkDerivation.configureScript

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

rust-crane.depsDrv.mkDerivation.depsBuildBuild

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

rust-crane.depsDrv.mkDerivation.depsBuildBuildPropagated

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

rust-crane.depsDrv.mkDerivation.depsBuildTarget

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

rust-crane.depsDrv.mkDerivation.depsBuildTargetPropagated

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

rust-crane.depsDrv.mkDerivation.depsHostHost

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

rust-crane.depsDrv.mkDerivation.depsHostHostPropagated

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

rust-crane.depsDrv.mkDerivation.depsTargetTarget

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

rust-crane.depsDrv.mkDerivation.depsTargetTargetPropagated

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

rust-crane.depsDrv.mkDerivation.disallowedReferences

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

rust-crane.depsDrv.mkDerivation.disallowedRequisites

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

rust-crane.depsDrv.mkDerivation.distFlags

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

rust-crane.depsDrv.mkDerivation.distPhase

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

rust-crane.depsDrv.mkDerivation.distTarget

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

rust-crane.depsDrv.mkDerivation.doCheck

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

rust-crane.depsDrv.mkDerivation.doDist

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

rust-crane.depsDrv.mkDerivation.doInstallCheck

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

rust-crane.depsDrv.mkDerivation.dontAddDisableDepTrack

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

rust-crane.depsDrv.mkDerivation.dontAddPrefix

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

rust-crane.depsDrv.mkDerivation.dontAddStaticConfigureFlags

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

rust-crane.depsDrv.mkDerivation.dontBuild

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

rust-crane.depsDrv.mkDerivation.dontConfigure

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

rust-crane.depsDrv.mkDerivation.dontCopyDist

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

rust-crane.depsDrv.mkDerivation.dontDisableStatic

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

rust-crane.depsDrv.mkDerivation.dontFixLibtool

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

rust-crane.depsDrv.mkDerivation.dontFixup

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

rust-crane.depsDrv.mkDerivation.dontInstall

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

rust-crane.depsDrv.mkDerivation.dontMakeSourcesWritable

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

rust-crane.depsDrv.mkDerivation.dontMoveBin

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

rust-crane.depsDrv.mkDerivation.dontPatch

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

rust-crane.depsDrv.mkDerivation.dontPatchELF

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

rust-crane.depsDrv.mkDerivation.dontPatchShebangs

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

rust-crane.depsDrv.mkDerivation.dontPruneLibtoolFiles

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

rust-crane.depsDrv.mkDerivation.dontStrip

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

rust-crane.depsDrv.mkDerivation.dontStripHost

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

rust-crane.depsDrv.mkDerivation.dontStripTarget

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

rust-crane.depsDrv.mkDerivation.dontUnpack

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

rust-crane.depsDrv.mkDerivation.enableParallelBuilding

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

rust-crane.depsDrv.mkDerivation.enableParallelChecking

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

rust-crane.depsDrv.mkDerivation.exportReferenceGraph

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

rust-crane.depsDrv.mkDerivation.fixupPhase

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

rust-crane.depsDrv.mkDerivation.forceShare

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

rust-crane.depsDrv.mkDerivation.hardeningDisable

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

rust-crane.depsDrv.mkDerivation.hardeningEnable

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

rust-crane.depsDrv.mkDerivation.impureEnvVars

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

rust-crane.depsDrv.mkDerivation.installCheckFlags

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

rust-crane.depsDrv.mkDerivation.installCheckInputs

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

rust-crane.depsDrv.mkDerivation.installCheckPhase

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

rust-crane.depsDrv.mkDerivation.installCheckTarget

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

rust-crane.depsDrv.mkDerivation.installFlags

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

rust-crane.depsDrv.mkDerivation.installPhase

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

rust-crane.depsDrv.mkDerivation.installTargets

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

rust-crane.depsDrv.mkDerivation.makeFlags

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

rust-crane.depsDrv.mkDerivation.makefile

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

rust-crane.depsDrv.mkDerivation.mesonFlags

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

rust-crane.depsDrv.mkDerivation.meta

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

rust-crane.depsDrv.mkDerivation.nativeBuildInputs

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

rust-crane.depsDrv.mkDerivation.nativeCheckInputs

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

rust-crane.depsDrv.mkDerivation.outputHash

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

rust-crane.depsDrv.mkDerivation.outputHashAlgo

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

rust-crane.depsDrv.mkDerivation.outputHashMode

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

rust-crane.depsDrv.mkDerivation.outputs

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

rust-crane.depsDrv.mkDerivation.passAsFile

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

rust-crane.depsDrv.mkDerivation.passthru

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

rust-crane.depsDrv.mkDerivation.patchFlags

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

rust-crane.depsDrv.mkDerivation.patchPhase

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

rust-crane.depsDrv.mkDerivation.patches

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

rust-crane.depsDrv.mkDerivation.phases

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

rust-crane.depsDrv.mkDerivation.pos

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

rust-crane.depsDrv.mkDerivation.postBuild

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

rust-crane.depsDrv.mkDerivation.postCheck

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

rust-crane.depsDrv.mkDerivation.postConfigure

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

rust-crane.depsDrv.mkDerivation.postDist

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

rust-crane.depsDrv.mkDerivation.postFixup

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

rust-crane.depsDrv.mkDerivation.postInstalCheck

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

rust-crane.depsDrv.mkDerivation.postInstall

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

rust-crane.depsDrv.mkDerivation.postPatch

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

rust-crane.depsDrv.mkDerivation.postPhases

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

rust-crane.depsDrv.mkDerivation.postUnpack

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

rust-crane.depsDrv.mkDerivation.preBuild

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

rust-crane.depsDrv.mkDerivation.preBuildPhases

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

rust-crane.depsDrv.mkDerivation.preCheck

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

rust-crane.depsDrv.mkDerivation.preConfigure

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

rust-crane.depsDrv.mkDerivation.preConfigurePhases

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

rust-crane.depsDrv.mkDerivation.preDist

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

rust-crane.depsDrv.mkDerivation.preDistPhases

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

rust-crane.depsDrv.mkDerivation.preFixup

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

rust-crane.depsDrv.mkDerivation.preFixupPhases

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

rust-crane.depsDrv.mkDerivation.preInstall

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

rust-crane.depsDrv.mkDerivation.preInstallCheck

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

rust-crane.depsDrv.mkDerivation.preInstallPhases

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

rust-crane.depsDrv.mkDerivation.prePatch

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

rust-crane.depsDrv.mkDerivation.prePhases

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

rust-crane.depsDrv.mkDerivation.preUnpack

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

rust-crane.depsDrv.mkDerivation.preferLocalBuild

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

rust-crane.depsDrv.mkDerivation.prefix

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

rust-crane.depsDrv.mkDerivation.prefixKey

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

rust-crane.depsDrv.mkDerivation.propagatedBuildInputs

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

rust-crane.depsDrv.mkDerivation.propagatedNativeBuildInputs

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

rust-crane.depsDrv.mkDerivation.propagatedSandboxProfile

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

rust-crane.depsDrv.mkDerivation.realBuilder

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

rust-crane.depsDrv.mkDerivation.requiredSystemFeatures

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

rust-crane.depsDrv.mkDerivation.sandboxProfile

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

rust-crane.depsDrv.mkDerivation.separateDebugInfo

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

rust-crane.depsDrv.mkDerivation.setSourceRoot

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

rust-crane.depsDrv.mkDerivation.setupHook

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

rust-crane.depsDrv.mkDerivation.shellHook

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

rust-crane.depsDrv.mkDerivation.sourceRoot

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

rust-crane.depsDrv.mkDerivation.src

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

rust-crane.depsDrv.mkDerivation.srcs

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

rust-crane.depsDrv.mkDerivation.strictDeps

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

rust-crane.depsDrv.mkDerivation.stripAllFlags

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

rust-crane.depsDrv.mkDerivation.stripAllList

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

rust-crane.depsDrv.mkDerivation.stripDebugFlags

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

rust-crane.depsDrv.mkDerivation.stripDebugList

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

rust-crane.depsDrv.mkDerivation.tarballs

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

rust-crane.depsDrv.mkDerivation.unpackCmd

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

rust-crane.depsDrv.mkDerivation.unpackPhase

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

rust-crane.depsDrv.name

The name of the package

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

rust-crane.depsDrv.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

rust-crane.depsDrv.version

The version of the package

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

rust-crane.runTests

Whether to run tests via cargo test

type boolean
source dream2nix/modules/dream2nix/rust-crane/interface.nix
default
true

rust-crane.testFlags

Flags to add when running cargo test

type list of string
source dream2nix/modules/dream2nix/rust-crane/interface.nix
default
[ ]

rust-crane.testProfile

The profile to use when running cargo test

type string
source dream2nix/modules/dream2nix/rust-crane/interface.nix
default
"release"

version

The version of the package

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