No description
Find a file
jasmine 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
nix/modules Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00
src Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00
.envrc Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00
.gitignore Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00
.prettierignore Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00
bun.lockb Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00
eslint.config.js Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00
flake.lock Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00
flake.nix Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00
index.html Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00
Justfile Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00
LICENSE Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00
package.json Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00
README.md Initial commit: minimal JavaScript template with Nix 2025-10-27 21:24:12 +08:00

JavaScript Template

A minimal JavaScript development template using Nix. Key features:

  • Nix + Flakes for reproducible environments
  • Bun (fast JavaScript runtime)
  • Vite (development server & build tool)
  • ESLint + Prettier (linting & formatting)
  • Devshell commands via just

Prerequisites

  • Nix with flakes enabled
  • direnv (optional but recommended)

Getting Started

Initialize a new project using omnix:

nix run nixpkgs#omnix -- \
  init github:sajenim/javascript-template -o ./my-project

Then enter the development environment:

cd my-project
direnv allow  # Or use: nix develop
just dev

NixOS users: If bun-installed binaries fail to find system libraries, enable FHS compatibility:

# nix/modules/devshell.nix
fhs = true;

Customization

This template provides minimal, sensible defaults. Customize as needed:

  • Add dependencies: just add <package>
  • Modify linting rules in eslint.config.js
  • Add Prettier config via .prettierrc if needed
  • Extend Justfile with project-specific commands

Acknowledgments