Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
nix3-derivation-add(1)	    General Commands Manual	nix3-derivation-add(1)

	      Warning
	      This  program  is	 experimental <../../development/experimental-
	      features.md#xp-feature-nix-command> and its interface is subject
	      to change.

Name
       nix derivation add - Add	a store	derivation

Synopsis
       nix derivation add [option...]

Description
       This command reads from standard	input a	JSON representation of a store
       derivation <../../glossary.md#gloss-store-derivation>.

       Store derivations are used internally by	Nix. They are store paths with
       extension .drv that represent the build-time dependency graph to	 which
       a Nix expression	evaluates.

       nix derivation add takes	a single derivation in the following format:

Derivation JSON	Format
	      Warning

	      This	JSON	  format     is	    currently	  experimental
	      <../../development/experimental-features.md#xp-feature-nix-
	      command> and subject to change.

       The JSON	serialization of a derivations <../../glossary.md#gloss-store-
       derivation> is a	JSON object with the following fields:

         name:	The name of the	derivation.  This is used when calculating the
	  store	paths of the derivation's outputs.

         outputs: Information about the output	paths of the derivation.  This
	  is a JSON object with	one member per output, where the  key  is  the
	  output name and the value is a JSON object with these	fields:

	    path:  The	 output	 path, if it is	known in advanced.  Otherwise,
	     null.

	    method: For an output which will be [content addressed], a	string
	     representing   the	  method    <../../store/store-object/content-
	     address.md>  of  content addressing that is chosen.  Valid	method
	     strings are:

	    flat <../../store/store-object/content-address.md#method-flat>

	    nar      <../../store/store-object/content-address.md#method-nix-
	     archive>

	    text <../../store/store-object/content-address.md#method-text>

	    git <../../store/store-object/content-address.md#method-git>

	  Otherwise, null.

	    hashAlgo:	For  an	 output	which will be [content addressed], the
	     name of the hash algorithm	used.  Valid algorithm strings are:

	    blake3

	    md5

	    sha1

	    sha256

	    sha512

	    hash: For fixed-output derivations, the expected content hash  in
	     base-16.

		 Example

	  "outputs": {
	    "out": {
	      "path": "/nix/store/2543j7c6jn75blc3drf4g5vhb1rhdq29-source",
	      "method":	"nar",
	      "hashAlgo": "sha256",
	      "hash": "6fc80dcc62179dbc12fc0b5881275898f93444833d21b89dfe5f7fbcbb1d0d62"
	    }
	  }

         inputSrcs: A list of store paths on which this derivation depends.

         inputDrvs:  A	 JSON  object specifying the derivations on which this
	  derivation depends, and what outputs of those	derivations.

		 Example

	  "inputDrvs": {
	    "/nix/store/6lkh5yi7nlb7l6dr8fljlli5zfd9hq58-curl-7.73.0.drv": ["dev"],
	    "/nix/store/fn3kgnfzl5dzym26j8g907gq3kbm8bfh-unzip-6.0.drv": ["out"]
	  }

	  specifies that this derivation depends on the	dev  output  of	 curl,
	  and the out output of	unzip.

         system:  The	system	type  on  which	this derivation	is to be built
	  (e.g.	x86_64-linux).

         builder: The absolute	path of	the program to be executed to run  the
	  build.  Typically this is the	bash shell (e.g. /nix/store/r3j288vpm-
	  czbl500w6zz89gyfa4nr0b1-bash-4.4-p23/bin/bash).

         args:	The command-line arguments passed to the builder.

         env: The environment passed to the builder.

         structuredAttrs:  Strucutured	Attributes <../../store/derivation/in-
	  dex.md#structured-attrs>, only defined if  the  derivation  contains
	  them.	 Structured attributes are JSON, and thus embedded as-is.

Options
         --dry-run <#opt-dry-run>

	  Show what this command would do without doing	it.

   Logging-related options
         --debug <#opt-debug>

	  Set the logging verbosity level to `debug'.

         --log-format <#opt-log-format> format

	  Set the format of log	output;	one of raw, internal-json, bar or bar-
	  with-logs.

         --print-build-logs <#opt-print-build-logs> / -L

	  Print	full build logs	on standard error.

         --quiet <#opt-quiet>

	  Decrease the logging verbosity level.

         --verbose <#opt-verbose> / -v

	  Increase the logging verbosity level.

   Miscellaneous global	options
         --help <#opt-help>

	  Show usage information.

         --offline <#opt-offline>

	  Disable  substituters	 and  consider all previously downloaded files
	  up-to-date.

         --option <#opt-option> name value

	  Set  the  Nix	 configuration	setting	 name  to  value   (overriding
	  nix.conf).

         --refresh <#opt-refresh>

	  Consider all previously downloaded files out-of-date.

         --version <#opt-version>

	  Show version information.

	  Note

	  See man nix.conf <../../command-ref/conf-file.md#command-line-flags>
	  for overriding configuration settings	with command line flags.

							nix3-derivation-add(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nix3-derivation-add&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help