Provided by: nix-bin_2.6.0+dfsg-3_amd64 bug

Name

       nix flake init - create a flake in the current directory from a template

Synopsis

       nix flake init [option…]

Examples

       • Create a flake using the default template:

       # nix flake init

       • List available templates:

       # nix flake show templates

       • Create a flake from a specific template:

       # nix flake init -t templates#simpleContainer

Description

       This  command creates a flake in the current directory by copying the files of a template.
       It will not overwrite existing files. The default template  is  templates#defaultTemplate,
       but this can be overridden using -t.

Template definitions

       A flake can declare templates through its templates and defaultTemplate output attributes.
       A template has two attributes:

       • description: A one-line description of the template, in CommonMark syntax.

       • path: The path of the directory to be copied.

       Here is an example:

       outputs = { self }: {

         templates.rust = {
           path = ./rust;
           description = "A simple Rust/Cargo project";
         };

         templates.defaultTemplate = self.templates.rust;
       }

Options

       • --template / -t template
         The template to use.

       Common evaluation options:

       • --arg name expr
         Pass the value expr as the argument name to Nix functions.

       • --argstr name string
         Pass the string string as the argument name to Nix functions.

       • --eval-store store-url
         The Nix store to use for evaluations.

       • --impure
         Allow access to mutable paths and repositories.

       • --include / -I path
         Add path to the list of locations used to look up <...> file names.

       • --override-flake original-ref resolved-ref
         Override the flake registries, redirecting original-ref to resolved-ref.

                                                                               nix3-flake-init(1)