nix3-store-add(1)

    Warning
    This program is experimental (https://nix.dev/manual/nix/2.34/development/experimental-features.html#xp-feature-nix-command) 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 (#opt-dry-run)

    Show what this command would do without doing it.

•   --hash-algo (#opt-hash-algo) hash-algo

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

•   --mode (#opt-mode) content-address-method

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

    •   nar (https://nix.dev/manual/nix/2.34/store/store-object/content-address.html#method-nix-archive) (the default): Serialises the input as a Nix Archive (https://nix.dev/manual/nix/2.34/store/file-system-object/content-address.html#serial-nix-archive) and passes that to the hash function.

    •   flat (https://nix.dev/manual/nix/2.34/store/store-object/content-address.html#method-flat) : Assumes that the input is a single file and directly passes (https://nix.dev/manual/nix/2.34/store/file-system-object/content-address.html#serial-flat) it to the hash function.

    •   text (https://nix.dev/manual/nix/2.34/store/store-object/content-address.html#method-text) : Like flat, but used for derivations (https://nix.dev/manual/nix/2.34/glossary.html#gloss-store-derivation) serialized in store object and builtins.toFile (https://nix.dev/manual/nix/2.34/language/builtins.html#builtins-toFile) . For advanced use-cases only; for regular usage prefer nar and flat.

•   --name (#opt-name) / -n name

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

  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.

•   --version (#opt-version)

    Show version information.

    Note

    See man nix.conf (https://nix.dev/manual/nix/2.34/command-ref/conf-file.html#command-line-flags) for overriding configuration settings with command line flags.