Introducing Ziege: A friendly Zig launcher and version manager

Howdy everyone!

I’ve created a Zig version manager which was inspired by Bazelisk. It’s primary function is to proxy the zig binary itself so that you can always use the correct version of zig for any projects and have toolchains downloaded for you automatically.
I’ve tested with several popular projects and it’s meeting my initial goals well enough.

The project is only a few days old, so expect rough edges, but also please feel free to share your experience and ideas.

Cheers!

3 Likes

Welcome to ziggit :slight_smile:

I love it :cupid: There are a lot of zig version managers, but this one seems right to me.

See @matklad post The Worst Zig Version Manager for another similar idea. zig-version.txt is .zigversion with the advantage of a cross platform script that someone commits to the repository.

1 Like

Thank you! I feel like there is a lot of room to explore here and it’s been nice to have a concrete goal to get more acquainted and involved with Zig.

1 Like

Have to admit I clicked on ‘like’ before looking at the code ^^ That name (and logo!) is just great.

3 Likes

I just tagged v0.2.0, which brings support for Zls and some other misc features to ziege mode.

If you’re on Windows and use cmd.exe (in some cases your editor might use it even if you use pwsh yourself), then I’ve created two small batch files that you can use instead of creating symlinks.

0.3.0 Has been tagged and a release uploaded.

Big change is that .zigversion won’t be created automatically when one isn’t found.

It’s also possible to set the zig version using an env var ZIG_VERSION.

When using ziege to set the version of the toolchain you can use nightly or master and have it resolve to the latest nightly.