Zig Origin (zo) is a versatile command-line tool designed to streamline the initialization and management of Zig projects. It offers various templates and options to cater to different project types, including standard applications, minimal setups, embedded systems, and projects with Nix Flake integration.
- Initialize Zig projects with different templates:
- Default: Standard Zig project setup
- Minimal: Bare-bones Zig project structure
- Embedded: Tailored for embedded systems development
- Flake: Includes Nix Flake for Zig development environment
- Embedded systems support with MicroZig integration
- Optional version control system (VCS) initialization (Git, Mercurial, and Jujutsu)
zo init [OPTIONS]
Initializes a zig build project in the current working directory.
-h, --help: Print help and exit-m, --minimal: Initialize a minimalzig buildproject-f, --flake: Add a basic Nix Flake for creating a Zig dev environment--e, --embedded: Initialize an embedded project--vcs <VCS>: Initialize a repo for the specified VCS (git, hg, or jj)
zo embed
init: Initialize a basic embedded Zig project using MicroZig
-h, --help: Print help and exit--vcs <VCS>: Initialize a repo for the specified VCS (git, hg, or jj)
- Create a default Zig project: zo init
- Set up a minimal project with Git: zo init -m --vcs git
- Initialize a project with Nix Flake support: zo init -f
- Set up an embedded project using MicroZig: zo embed init
- Initialize an embedded MicroZig project with Mercurial: zo embed init --vcs hg
The only option right now is from source.
- Pull repo down
- Run
zig build - Move the executable to your $PATH
- Zig compiler
- Git, Mercurial, or Jujutsu (optional, for VCS initialization)
- Nix (optional, for Flake support)
- MicroZig (for embedded projects)
Contributions are welcome! Please feel free to submit a Pull Request.