Commit graph

12 commits

Author SHA1 Message Date
99b5fa33e8
Remove eslint binary from package.json - provided by Nix devshell
Nix provides the eslint binary while package.json provides framework-specific
plugins (eslint-config-next). This separates tooling binaries from config packages.
2025-11-23 20:16:02 +08:00
1f1a1f347d
Modernize templates with Tailwind v4 and ESLint flat config
- Add Tailwind CSS v4 to Next.js template with zero-config setup
- Migrate both templates to ESLint flat config (eslint.config.mjs)
- Add proper .gitignore files to vanilla and nextjs templates
- Simplify root .gitignore to only Nix artifacts
- Update styling for consistent visual identity across templates
- Update README to reflect Tailwind inclusion and flat config
2025-11-15 22:34:05 +08:00
82b429b221
Fix template metadata and naming
- 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.
2025-11-14 12:33:56 +08:00
e907de4a37
Clean up template configurations for initialized projects
Removed unnecessary packages and template metadata from initialized projects:
- Removed TypeScript from vanilla template (not used)
- Removed template.nix from both templates (only needed in repo, not projects)
- Updated flake.nix in templates to only import devshell.nix

Templates now provide minimal, focused development environments.
2025-11-14 12:26:43 +08:00
1413b1b10d
Remove root devshell - templates are self-contained
The root flake only defines templates. Each template (templates/vanilla/
and templates/nextjs/) contains its own complete Nix configuration with
devshell, so root-level development environment is unnecessary.
2025-11-14 12:07:57 +08:00
2b228ebd52
Restructure templates to include Nix development environment
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
2025-11-14 12:05:50 +08:00
304367cde5
Remove bun.lockb from templates
Users will generate their own lockfile on first install. This avoids
binary file issues with omnix text substitution and ensures fresh
dependency resolution.
2025-11-14 11:35:19 +08:00
b558e10bdb
Revert "Exclude bun.lockb from omnix text substitution"
This reverts commit 187ad24404.
2025-11-14 11:34:26 +08:00
187ad24404
Exclude bun.lockb from omnix text substitution
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.
2025-11-14 11:26:25 +08:00
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
506821f638
Add interactive REPL with helpers and improve package management
- Add Node.js to devshell for mature, stable REPL
- Create .replrc.js with println() and dir() helpers
- Add 'just repl' command with auto-loaded helpers
- Add 'just add-dev' and 'just remove' for package management
- Update README with complete command reference and feature list
2025-10-28 00:45:57 +08:00
6f67a0dc1a
Initial commit: minimal JavaScript template with Nix
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
2025-10-27 21:24:12 +08:00