Reference

nix-store-import(1)

import Nix Archive ⟨@docroot@/store/file-system-object/content-address.md#serial-nix-archive⟩ into the store

Name

nix-store --import - import Nix Archive ⟨@docroot@/store/file-system-object/content-address.md#serial-nix-archive⟩ into the store

Synopsis

nix-store --import

Description

The operation --import reads a serialisation of a set of store objects ⟨@docroot@/glossary.md#gloss-store-object⟩ produced by nix-store --export ⟨./export.md⟩ from standard input, and adds those store objects to the specified Nix store ⟨@docroot@/store/index.md⟩\c . Paths that already exist in the target Nix store are ignored. If a path refers ⟨@docroot@/glossary.md#gloss-reference⟩ to another path that doesn’t exist in the target Nix store, the import fails.

Note

For efficient transfer of closures to remote machines over SSH, use nix-copy-closure ⟨@docroot@/command-ref/nix-copy-closure.md⟩\c .

{{#include ./opt-common.md}}

{{#include ../opt-common.md}}

{{#include ../env-common.md}}

Examples

Example

Given a closure of GNU Hello as a file:

$ storePath="$(nix-build '<nixpkgs>' -I nixpkgs=channel:nixpkgs-unstable -A hello --no-out-link)"
$ nix-store --export $(nix-store --query --requisites $storePath) > hello.closure

Import the closure into a remote SSH store ⟨@docroot@/store/types/ssh-store.md⟩ using the --store ⟨@docroot@/command-ref/conf-file.md#conf-store⟩ option:

$ nix-store --import --store ssh://[email protected] < hello.closure