javascript-template/nix/modules/template.nix
jasmine c497b0fc1d
Refactor into multi-template monorepo with Next.js support
Restructure project to support multiple templates via Nix flakes and omnix.
Users can now choose between vanilla JavaScript or Next.js TypeScript
templates during initialization.

- Move existing template to templates/vanilla/
- Add templates/nextjs/ with App Router, TypeScript, and React 19
- Update flake.nix for multi-template outputs
- Add TypeScript support to shared devshell
- Preserve FHS compatibility for both templates
- Update README with comprehensive template comparison and usage
2025-11-14 11:16:04 +08:00

41 lines
944 B
Nix

{inputs, ...}: let
root = inputs.self;
in {
flake = rec {
templates = {
default = {
description = "Minimal JavaScript template with Vite and Bun";
path = "${root}/templates/vanilla";
};
nextjs = {
description = "Next.js TypeScript template with App Router for Vercel";
path = "${root}/templates/nextjs";
};
};
om.templates = {
javascript-vanilla = {
template = templates.default;
params = [
{
name = "package-name";
description = "Name of the JavaScript package";
placeholder = "my-project";
}
];
};
javascript-nextjs = {
template = templates.nextjs;
params = [
{
name = "package-name";
description = "Name of the Next.js project";
placeholder = "my-nextjs-app";
}
];
};
};
};
}