nix3-store-add(1)

    Warning
    This program is experimental and its interface is subject to change.

Name

nix store add - add a file or directory to the Nix store

Synopsis

nix store add [option…] path

Description

Copy path to the Nix store, and print the resulting store path on standard output.

    Warning

    The resulting store path is not registered as a garbage collector root, so it could be deleted before you have a chance to register it.

Examples

Add a directory to the store:

    # mkdir dir
    # echo foo > dir/bar
    # nix store add ./dir
    /nix/store/6pmjx56pm94n66n4qw1nff0y1crm8nqg-dir
    # cat /nix/store/6pmjx56pm94n66n4qw1nff0y1crm8nqg-dir/bar
    foo

Options

•   --dry-run

    Show what this command would do without doing it.

•   --hash-algo hash-algo

    Hash algorithm (blake3, md5, sha1, sha256, or sha512).

•   --mode content-address-method

    How to compute the content-address of the store object. One of:

    •   nar (the default): Serialises the input as a Nix Archive and passes that to the hash function.

    •   flat: Assumes that the input is a single file and directly passes it to the hash function.

    •   text: Like flat, but used for derivations serialized in store object and builtins.toFile. For advanced use-cases only; for regular usage prefer nar and flat.

•   --name / -n name

    Override the name component of the store path. It defaults to the base name of path.

  Logging-related options

•   --debug

    Set the logging verbosity level to ‘debug’.

•   --log-format format

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

•   --print-build-logs / -L

    Print full build logs on standard error.

•   --quiet

    Decrease the logging verbosity level.

•   --verbose / -v

    Increase the logging verbosity level.

  Miscellaneous global options

•   --help

    Show usage information.

•   --offline

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

•   --option name value

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

•   --refresh

    Consider all previously downloaded files out-of-date.

•   --version

    Show version information.

    Note

    See man nix.conf for overriding configuration settings with command line flags.