nix3-flake-init(1) General Commands Manual nix3-flake-init(1) 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 o Create a flake using the default template: # nix flake init o List available templates: # nix flake show templates o 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: o description: A one-line description of the template, in CommonMark syntax. o path: The path of the directory to be copied. o 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 o --template / -t template The template to use. Common evaluation options o --arg name expr Pass the value expr as the argument name to Nix functions. o --arg-from-file name path Pass the contents of file path as the argument name to Nix functions. o --arg-from-stdin name Pass the contents of stdin as the argument name to Nix functions. o --argstr name string Pass the string string as the argument name to Nix functions. o --debugger Start an interactive environment if evaluation fails. o --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. o --impure Allow access to mutable paths and repositories. o --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. o --override-flake original-ref resolved-ref Override the flake registries, redirecting original-ref to resolved- ref. Logging-related options o --debug Set the logging verbosity level to `debug'. o --log-format format Set the format of log output; one of raw, internal-json, bar or bar- with-logs. o --print-build-logs / -L Print full build logs on standard error. o --quiet Decrease the logging verbosity level. o --verbose / -v Increase the logging verbosity level. Miscellaneous global options o --help Show usage information. o --offline Disable substituters and consider all previously downloaded files up-to-date. o --option name value Set the Nix configuration setting name to value (overriding nix.conf). o --refresh Consider all previously downloaded files out-of-date. o --repair During evaluation, rewrite missing or corrupted files in the Nix store. During building, rebuild missing or corrupted store paths. o --version Show version information. Note See man nix.conf for overriding configuration settings with command line flags. nix3-flake-init(1)