Man page - nix3-flake-init(1)

Packages contains this manual

Manual

nix3-flake-init

Name
Synopsis
Examples
Description
Template definitions
Options
Common evaluation options
Logging-related options
Miscellaneous global options

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

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.