Provided by: nix-bin_2.24.9+dfsg-2ubuntu2_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#templates.default, but this can be overridden
       using -t.

Template definitions

       A flake can declare templates through its templates  output  attribute.  A  template  has  the  following
       attributes:

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

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

       •  welcomeText:  A  block  of  markdown text to display when a user initializes a new flake based on this
          template.

       Here is an example:

       outputs = { self }: {

         templates.rust = {
           path = ./rust;
           description = "A simple Rust/Cargo project";
           welcomeText = ''
             # Simple Rust/Cargo Template
             ## Intended usage
             The intended usage of this flake is...

             ## More info
             - [Rust language](https://www.rust-lang.org/)
             - [Rust on the NixOS Wiki](https://wiki.nixos.org/wiki/Rust)
             - ...
           '';
         };

         templates.default = 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.

       •  --arg-from-file name path

          Pass the contents of file path as the argument name to Nix functions.

       •  --arg-from-stdin name

          Pass the contents of stdin as the argument name to Nix functions.

       •  --argstr name string

          Pass the string string as the argument name to Nix functions.

       •  --debugger

          Start an interactive environment if evaluation fails.

       •  --eval-store store-url

          The URL of the Nix store to use for evaluation, i.e. to store  derivations  (.drv  files)  and  inputs
          referenced by them.

       •  --impure

          Allow access to mutable paths and repositories.

       •  --include / -I path

          Add path to search path entries used to resolve lookup paths

          This option may be given multiple times.

          Paths  added  through  -I  take  precedence  over  the nix-path configuration setting and the NIX_PATH
          environment variable.

       •  --override-flake original-ref resolved-ref

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

   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.

       •  --repair

          During evaluation, rewrite missing or corrupted files in  the  Nix  store.  During  building,  rebuild
          missing or corrupted store paths.

       •  --version

          Show version information.

          Note

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

                                                                                              nix3-flake-init(1)