{"id":50449330,"url":"https://github.com/applicative-systems/templates","last_synced_at":"2026-05-31T23:30:40.608Z","repository":{"id":360903006,"uuid":"1252182885","full_name":"applicative-systems/templates","owner":"applicative-systems","description":"A collection of starter Nix flake projects, kept in one repository so they can be initialised with a single nix flake init invocation.","archived":false,"fork":false,"pushed_at":"2026-05-28T10:21:39.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-28T11:23:30.539Z","etag":null,"topics":["nix","nix-flake","nix-flake-template","nix-flakes"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/applicative-systems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-28T09:13:10.000Z","updated_at":"2026-05-28T10:21:43.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/applicative-systems/templates","commit_stats":null,"previous_names":["applicative-systems/templates"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/applicative-systems/templates","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applicative-systems%2Ftemplates","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applicative-systems%2Ftemplates/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applicative-systems%2Ftemplates/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applicative-systems%2Ftemplates/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/applicative-systems","download_url":"https://codeload.github.com/applicative-systems/templates/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applicative-systems%2Ftemplates/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33753923,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nix","nix-flake","nix-flake-template","nix-flakes"],"created_at":"2026-05-31T23:30:39.193Z","updated_at":"2026-05-31T23:30:40.599Z","avatar_url":"https://github.com/applicative-systems.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flake Templates\n\nA collection of starter [Nix flake](https://nixos.wiki/wiki/Flakes) projects,\nkept in one repository so they can be initialised with a single\n`nix flake init` invocation.\n\n## Available templates\n\n| Name           | Description                                                                                                                                                                                                                                                                                                                                                           |\n| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `default`      | Minimal starter flake for a multi-system project. Targets `x86_64-linux`, `aarch64-linux` and `aarch64-darwin` using the `eachSystem` style and tracks `nixos-unstable`. Ships with a placeholder `hello` package — swap it out for your own.                                                                                                                         |\n| `docker-image` | Starter flake for [argunix](https://argunix.nix-consulting.net)-compatible OCI images. Linux-only (`x86_64-linux`, `aarch64-linux`). Defines the same `hello` image twice — once against glibc, once musl-static — to demonstrate how small Nix-built images can get. Comes with a NixOS-VM integration test (`docker load` + `docker run`), gated to `x86_64-linux`. |\n\n## Usage\n\nIn an empty directory, initialise the default starter:\n\n```sh\nnix flake init -t github:applicative-systems/templates\n```\n\nOr pick a specific template by name:\n\n```sh\nnix flake init -t github:applicative-systems/templates#default\n```\n\nThen build it:\n\n```sh\nnix build\n```\n\nThe default template ships with `pkgs.hello` purely as a placeholder so the\nflake builds out of the box. Open `flake.nix` and replace it with your own\npackage, devShell, NixOS module, or whatever you're actually building.\n\nTo build for a specific system explicitly:\n\n```sh\nnix build .#packages.aarch64-darwin.default\nnix build .#packages.x86_64-linux.default\nnix build .#packages.aarch64-linux.default\n```\n\n## Formatting and linting\n\nThis repository is wired up with [treefmt-nix](https://github.com/numtide/treefmt-nix).\nFormat everything in place:\n\n```sh\nnix fmt\n```\n\nCheck formatting without modifying files (also runs in CI via `nix flake check`):\n\n```sh\nnix flake check\n```\n\nThe configured formatters/linters are `nixfmt`, `deadnix`, `statix`,\n`prettier`, `shellcheck` and `shfmt`.\n\n## How templates are validated\n\nEach template is wired up as a `path:` flake input on the top-level\n`flake.nix` (with `inputs.nixpkgs.follows = \"nixpkgs\"` to dedupe). Its\ndefault package is then re-exported under `checks.\u003csystem\u003e.template-\u003cname\u003e`,\nso `nix flake check` evaluates the template's outputs for every supported\nsystem and builds the host-system one. End users initialising the template\nvia `nix flake init` are unaffected — they get a clean tree without any\nparent lockfile baggage.\n\n## Adding a new template\n\n1. Create a new sub-directory containing a `flake.nix` (and any supporting\n   files).\n2. Register it in the top-level `flake.nix` under `templates.\u003cname\u003e` with a\n   `path` and a `description`.\n3. Wire it up for CI by adding a `template-\u003cname\u003e` input pointing at the\n   sub-directory and a matching `checks.\u003csystem\u003e.template-\u003cname\u003e` entry.\n4. Document it in the table above.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapplicative-systems%2Ftemplates","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapplicative-systems%2Ftemplates","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapplicative-systems%2Ftemplates/lists"}