nix3-flake-new(1)

    Warning
    This program is experimental (@docroot@/development/experimental-features.md#xp-feature-nix-command) and its interface is subject to change.

Name

nix flake new - create a flake in the specified directory from a template

Synopsis

nix flake new [option…] dest-dir

Examples

•   Create a flake using the default template in the directory hello:

    # nix flake new hello

•   List available templates:

    # nix flake show templates

•   Create a flake from a specific template in the directory hello:

    # nix flake new hello -t templates#trivial

Description

This command creates a flake in the directory dest-dir, which must not already exist. It’s equivalent to:

    # mkdir dest-dir
    # cd dest-dir
    # nix flake init

Options

•   --template (#opt-template) / -t template

    The template to use.

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

•   --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 (@docroot@/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 (@docroot@/language/constructs/lookup-path.md)

    This option may be given multiple times.

    Paths added through -I take precedence over the nix-path configuration setting (@docroot@/command-ref/conf-file.md#conf-nix-path) and the NIX_PATH environment variable (@docroot@/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.

  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.

    Note

    See man nix.conf (@docroot@/command-ref/conf-file.md#command-line-flags) for overriding configuration settings with command line flags.