- Changed omnix template name from "default" to "vanilla" for clarity
- Updated flake descriptions to describe project type, not template repo
- Added {{package-name}} variable to vanilla/package.json for substitution
Ensures initialized projects have correct metadata and users see "vanilla"
and "nextjs" as template options during initialization.
Moved template directories into templates/ subdirectory (templates/vanilla/
and templates/nextjs/) with complete Nix configuration in each. This ensures
initialized projects have the full development environment with Nix, Bun,
and all tooling out of the box.
Changes:
- Created templates/vanilla/ with flake.nix, nix/, .envrc, and all files
- Created templates/nextjs/ with flake.nix, nix/, .envrc, and all files
- Updated template paths in nix/modules/template.nix
Prevents "stream did not contain valid UTF-8" errors during template
initialization. The binary lockfile doesn't need text substitution and
should be copied as-is.
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
Features:
- Nix + Flakes for reproducible environments
- Bun (fast JavaScript runtime)
- Vite (development server & build tool)
- ESLint + Prettier (linting & formatting)
- Devshell commands via just
- Modular structure using flake-parts
- Omnix template support for initialization