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

FreeBSD Manual Pages

  
 
  

home | help
nix3-print-dev-env(1)	    General Commands Manual	 nix3-print-dev-env(1)

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

Name
       nix print-dev-env - print shell code that can be	sourced	by bash	to re-
       produce the build environment of	a derivation

Synopsis
       nix print-dev-env [option...] installable

Examples
         Apply	the build environment of GNU hello to the current shell:

       # . <(nix print-dev-env nixpkgs#hello)

         Get the build	environment in JSON format:

       # nix print-dev-env nixpkgs#hello --json

	      The output will look like	this:

       {
       "bashFunctions":	{
	 "buildPhase": " \n    runHook preBuild;\n...",
	 ...
       },
       "variables": {
	 "src":	{
	   "type": "exported",
	   "value": "/nix/store/3x7dwzq014bblazs7kq20p9hyzz0qh8g-hello-2.10.tar.gz"
	 },
	 "postUnpackHooks": {
	   "type": "array",
	   "value": ["_updateSourceDateEpochFromSourceRoot"]
	 },
	 ...
       }
       }

Description
       This command prints a shell script that can be sourced by bash and that
       sets the	variables and shell functions defined by the build process  of
       installable  <./nix.md#installables>.  This allows you to get a similar
       build environment in your current shell rather than in a	 subshell  (as
       with nix	develop).

       With  --json,  the  output is a JSON serialisation of the variables and
       functions defined by the	build process.

Options
         --json <#opt-json>

	  Produce output in JSON format, suitable for consumption  by  another
	  program.

         --no-pretty <#opt-no-pretty>

	  Print	 compact JSON output on	a single line, even when the output is
	  a terminal.  Some commands may print multiple	JSON objects on	 sepa-
	  rate lines.

		   See `--pretty`.

         --pretty <#opt-pretty>

	  Print	multi-line, indented JSON output for readability.

		   Default: indent if output is	to a terminal.

		   This	option is only effective when `--json` is also specified.

         --profile <#opt-profile> path

	  The profile to operate on.

         --redirect <#opt-redirect> installable outputs-dir

	  Redirect a store path	to a mutable location.

   Common evaluation options
         --arg	<#opt-arg> name	expr

	  Pass the value expr as the argument name to Nix functions.

         --arg-from-file <#opt-arg-from-file> name path

	  Pass	the  contents  of  file	path as	the argument name to Nix func-
	  tions.

         --arg-from-stdin <#opt-arg-from-stdin> name

	  Pass the contents of stdin as	the argument name to Nix functions.

         --argstr <#opt-argstr> name string

	  Pass the string string as the	argument name to Nix functions.

         --debugger <#opt-debugger>

	  Start	an interactive environment if evaluation fails.

         --eval-store <#opt-eval-store> store-url

	  The URL  of  the  Nix	 store	<../../store/types/index.md#store-url-
	  format>  to  use  for	 evaluation,  i.e.  to store derivations (.drv
	  files) and inputs referenced by them.

         --impure <#opt-impure>

	  Allow	access to mutable paths	and repositories.

         --include <#opt-include> / -I	path

	  Add path to  search  path  entries  used  to	resolve	 lookup	 paths
	  <../../language/constructs/lookup-path.md>

	  This option may be given multiple times.

	  Paths	 added through -I take precedence over the nix-path configura-
	  tion setting <../../command-ref/conf-file.md#conf-nix-path> and  the
	  NIX_PATH  environment	variable <../../command-ref/env-common.md#env-
	  NIX_PATH>.

         --override-flake <#opt-override-flake> original-ref resolved-ref

	  Override the flake registries, redirecting original-ref to resolved-
	  ref.

   Common flake-related	options
         --commit-lock-file <#opt-commit-lock-file>

	  Commit changes to the	flake's	lock file.

         --inputs-from	<#opt-inputs-from> flake-url

	  Use the inputs of the	specified flake	as registry entries.

         --no-registries <#opt-no-registries>

	  Don't	allow lookups in the flake registries.

		 DEPRECATED

		 Use --no-use-registries <../../command-ref/conf-file.md#conf-
		 use-registries> instead.

         --no-update-lock-file	<#opt-no-update-lock-file>

	  Do not allow any updates to the flake's lock file.

         --no-write-lock-file <#opt-no-write-lock-file>

	  Do not write the flake's newly generated lock	file.

         --output-lock-file <#opt-output-lock-file> flake-lock-path

	  Write	the given lock file instead of flake.lock within the top-level
	  flake.

         --override-input <#opt-override-input> input-path flake-url

	  Override a specific flake input (e.g.	dwarffs/nixpkgs). This implies
	  --no-write-lock-file.

         --recreate-lock-file <#opt-recreate-lock-file>

	  Recreate the flake's lock file from scratch.

		 DEPRECATED

		 Use nix flake	update	<../../command-ref/new-cli/nix3-flake-
		 update.md> instead.

         --reference-lock-file	<#opt-reference-lock-file> flake-lock-path

	  Read	the given lock file instead of flake.lock within the top-level
	  flake.

         --update-input <#opt-update-input> input-path

	  Update a specific flake input	(ignoring its previous	entry  in  the
	  lock file).

		 DEPRECATED

		 Use  nix  flake update	<../../command-ref/new-cli/nix3-flake-
		 update.md> instead.

   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.

         --repair <#opt-repair>

	  During evaluation, rewrite missing or	corrupted  files  in  the  Nix
	  store. During	building, rebuild missing or corrupted store paths.

         --version <#opt-version>

	  Show version information.

   Options that	change the interpretation of installables
         --expr <#opt-expr> expr

	  Interpret	       installables	       <../../command-ref/new-
	  cli/nix.md#installables> as attribute	paths relative to the Nix  ex-
	  pression expr.

         --file <#opt-file> / -f file

	  Interpret	       installables	       <../../command-ref/new-
	  cli/nix.md#installables> as attribute	paths relative to the Nix  ex-
	  pression  stored in file. If file is the character -,	then a Nix ex-
	  pression is read from	standard input.	Implies	--impure.

	  Note

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

							 nix3-print-dev-env(1)

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

home | help