forked from lix-project/lix
Add 'nix copy' manpage
This commit is contained in:
parent
9dcd0aebc5
commit
28ee307fd8
|
@ -54,32 +54,11 @@ struct CmdCopy : StorePathsCommand
|
||||||
return "copy paths between Nix stores";
|
return "copy paths between Nix stores";
|
||||||
}
|
}
|
||||||
|
|
||||||
Examples examples() override
|
std::string doc() override
|
||||||
{
|
{
|
||||||
return {
|
return
|
||||||
Example{
|
#include "copy.md"
|
||||||
"To copy Firefox from the local store to a binary cache in file:///tmp/cache:",
|
;
|
||||||
"nix copy --to file:///tmp/cache $(type -p firefox)"
|
|
||||||
},
|
|
||||||
Example{
|
|
||||||
"To copy the entire current NixOS system closure to another machine via SSH:",
|
|
||||||
"nix copy --to ssh://server /run/current-system"
|
|
||||||
},
|
|
||||||
Example{
|
|
||||||
"To copy a closure from another machine via SSH:",
|
|
||||||
"nix copy --from ssh://server /nix/store/a6cnl93nk1wxnq84brbbwr6hxw9gp2w9-blender-2.79-rc2"
|
|
||||||
},
|
|
||||||
#ifdef ENABLE_S3
|
|
||||||
Example{
|
|
||||||
"To copy Hello to an S3 binary cache:",
|
|
||||||
"nix copy --to s3://my-bucket?region=eu-west-1 nixpkgs#hello"
|
|
||||||
},
|
|
||||||
Example{
|
|
||||||
"To copy Hello to an S3-compatible binary cache:",
|
|
||||||
"nix copy --to s3://my-bucket?region=eu-west-1&endpoint=example.com nixpkgs#hello"
|
|
||||||
},
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Category category() override { return catSecondary; }
|
Category category() override { return catSecondary; }
|
||||||
|
|
58
src/nix/copy.md
Normal file
58
src/nix/copy.md
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
R""(
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
|
||||||
|
* Copy Firefox from the local store to a binary cache in `/tmp/cache`:
|
||||||
|
|
||||||
|
```console
|
||||||
|
# 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 the entire current NixOS system closure to another machine via
|
||||||
|
SSH:
|
||||||
|
|
||||||
|
```console
|
||||||
|
# nix copy -s --to ssh://server /run/current-system
|
||||||
|
```
|
||||||
|
|
||||||
|
The `-s` flag causes the remote machine to try to substitute missing
|
||||||
|
store paths, which may be faster if the link between the local and
|
||||||
|
remote machines is slower than the link between the remote machine
|
||||||
|
and its substituters (e.g. `https://cache.nixos.org`).
|
||||||
|
|
||||||
|
* Copy a closure from another machine via SSH:
|
||||||
|
|
||||||
|
```console
|
||||||
|
# nix copy --from ssh://server /nix/store/a6cnl93nk1wxnq84brbbwr6hxw9gp2w9-blender-2.79-rc2
|
||||||
|
```
|
||||||
|
|
||||||
|
* Copy Hello to a binary cache in an Amazon S3 bucket:
|
||||||
|
|
||||||
|
```console
|
||||||
|
# nix copy --to s3://my-bucket?region=eu-west-1 nixpkgs#hello
|
||||||
|
```
|
||||||
|
|
||||||
|
or to an S3-compatible storage system:
|
||||||
|
|
||||||
|
```console
|
||||||
|
# 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`:
|
||||||
|
|
||||||
|
```console
|
||||||
|
# nix copy --to /tmp/nix nixpkgs#hello --no-check-sigs
|
||||||
|
```
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
)""
|
Loading…
Reference in a new issue