Flake templates
Find a file
Eelco Dolstra 2557dc6392
Merge pull request #94 from osbm/flake-outputs
Use non-deprecated flake outputs
2025-10-14 14:23:48 +02:00
.github Merge branch 'master' into master 2024-08-17 03:21:46 -04:00
bash-hello Remove all flake.lock files 2023-12-22 16:11:52 -08:00
c-hello Use non-deprecated flake outputs 2025-10-03 08:41:31 +03:00
compat Add a template that provides default.nix and shell.nix 2021-08-02 16:23:35 +02:00
dotnet Expand and tighten up the .NET template 2024-06-01 00:29:34 +01:00
empty empty: init 2022-10-09 16:59:18 +02:00
full template full: Fix typo in flake.nix (#73) 2024-01-19 12:08:25 -05:00
go-hello Use vendorHash instead of deprecated sha256 2024-03-28 11:01:17 +01:00
haskell-flake clarify haskell-flake description 2024-02-17 17:24:41 -08:00
haskell-hello Remove all flake.lock files 2023-12-22 16:11:52 -08:00
haskell.nix Use numtide/flake-utils (#86) 2024-09-01 23:57:16 -04:00
hercules-ci Remove all flake.lock files 2023-12-22 16:11:52 -08:00
latexmk Add LaTeX writing template with latexmk 2024-07-02 22:25:01 +02:00
pandoc-xelatex Remove all flake.lock files 2023-12-22 16:11:52 -08:00
python fix: update python template to use nix-community 2024-01-08 12:23:54 -05:00
ruby bump: ruby deps 2024-08-17 03:20:52 -04:00
rust minor refactor 2024-04-09 15:26:42 +05:30
rust-web-server Remove all flake.lock files 2023-12-22 16:11:52 -08:00
simple-container Remove all flake.lock files 2023-12-22 16:11:52 -08:00
trivial add nixpkgs as input of "trivial" template 2024-02-14 22:16:34 -05:00
typescript Created Typescript templates (#82) 2024-08-17 22:35:29 -04:00
utils-generic Added utils-generic template 2023-04-05 22:21:07 +04:00
.gitignore Remove all flake.lock files 2023-12-22 16:11:52 -08:00
.gitmodules haskell-flake example 2023-09-02 21:16:59 -07:00
COPYING Initial work on README.md 2022-01-25 12:00:01 +01:00
flake.nix Created Typescript templates (#82) 2024-08-17 22:35:29 -04:00
README.md Update README.md 2022-01-25 14:59:53 +01:00

Official Nix templates

Templates are there to help you start your Nix project.

$ nix flake init --template templates#full

or

$ nix flake new --template templates#full ./my-new-project

Each template ships with a tutorial (README.md) which explains in details how to use it and extend it.

How to contribute

Main purpose of this repository is to collect most common templates to help newcomers learn Nix. For this purpose the collection of templates is limited to provided an opinionated and curated list.

Other templates for more advanced topics can be found in nix-community/templates.

TODO: templates should be also discoverable on search.nixos.org

Opening issues

What is required to submit a template?

Each template needs:

  • name

    Folder with the same name should be created and this is a location of the template. An entry with name is requred in flake.nix.

  • description

    A description that explains the content of the template in one sentence. An entry with description is requred in flake.nix.

  • maintainers

    Each template needs one of more maintainers with the knowledge of specific area. Each template has an entry in .github/CODEOWNERS with maintainers next to them.

  • tutorial

    Tutorial showing the usage of the template should be placed in README.md.

License

Note: contributing implies licensing those contributions under the terms of COPYING, which is the MIT license.