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

FreeBSD Manual Pages

  
 
  

home | help
nix3-copy(1)		    General Commands Manual		  nix3-copy(1)

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

Name
       nix copy	- copy paths between Nix stores

Synopsis
       nix copy	[option...] installables...

Examples
         Copy Firefox from the	local store to a binary	cache in /tmp/cache:

       # nix copy --to file:///tmp/cache $(type	-p firefox)

	      Note the file:// - without this, the  destination	 is  a	chroot
	      store, not a binary cache.

         Copy	all store paths	from a local binary cache in /tmp/cache	to the
	  local	store:

       # nix copy --all	--from file:///tmp/cache

         Copy the entire current NixOS	system closure to another machine  via
	  SSH:

       # nix copy --substitute-on-destination --to ssh://server	/run/current-system

	      The -s flag causes the remote machine to try to substitute miss-
	      ing store	paths, which may be faster if the link between the lo-
	      cal  and remote machines is slower than the link between the re-
	      mote	machine	     and      its      substituters	 (e.g.
	      https://cache.nixos.org).

         Copy a closure from another machine via SSH:

       # nix copy --from ssh://server /nix/store/a6cnl93nk1wxnq84brbbwr6hxw9gp2w9-blender-2.79-rc2

         Copy Hello to	a binary cache in an Amazon S3 bucket:

       # nix copy --to s3://my-bucket?region=eu-west-1 nixpkgs#hello

	      or to an S3-compatible storage system:

       # nix copy --to s3://my-bucket?region=eu-west-1&endpoint=example.com nixpkgs#hello

	      Note that	this only works	if Nix is built	with AWS support.

         Copy	  a    closure	 from	/nix/store   to	  the	chroot	 store
	  /tmp/nix/nix/store:

       # nix copy --to /tmp/nix	nixpkgs#hello --no-check-sigs

         Update the NixOS system profile to point to a	closure	copied from  a
	  remote machine:

       # nix copy --from ssh://server \
	 --profile /nix/var/nix/profiles/system	\
	 /nix/store/r14v3km89zm3prwsa521fab5kgzvfbw4-nixos-system-foobar-24.05.20240925.759537f

Description
       nix  copy copies	store path closures between two	Nix stores. The	source
       store is	specified using	--from and the destination using --to. If  one
       of these	is omitted, it defaults	to the local store.

Options
         --from <#opt-from> store-uri

	  URL of the source Nix	store.

         --no-check-sigs <#opt-no-check-sigs>

	  Do not require that paths are	signed by trusted keys.

         --out-link <#opt-out-link> / -o path

	  Create  symlinks  prefixed  with  path  to the top-level store paths
	  fetched from the source store.

         --profile <#opt-profile> path

	  The profile to operate on.

         --stdin <#opt-stdin>

	  Read installables from the standard input.  No  default  installable
	  applied.

         --substitute-on-destination <#opt-substitute-on-destination> / -s

	  Whether  to try substitutes on the destination store (only supported
	  by SSH stores).

         --to <#opt-to> store-uri

	  URL of the destination Nix store.

   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
         --all	<#opt-all>

	  Apply	the operation to every store path.

         --derivation <#opt-derivation>

	  Operate  on  the  store  derivation  <../../glossary.md#gloss-store-
	  derivation> rather than its outputs.

         --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.

         --no-recursive <#opt-no-recursive>

	  Apply	operation to specified paths only.

	  Note

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

								  nix3-copy(1)

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

home | help