Zig gpu kernel for macOS (via spirv)

I would like to play around with writing some gpu kernels in zig code similar to the examples for Nvidia and AMD gpus in GitHub - Snektron/shallenge: https://shallenge.quirino.net/ in zig, but I would like it to work on macOS, and I am looking into the best solution for this.

I guess the simplest solution would be to use OpenCL (as described in the spirv example in Zig and GPUs), but I would like to try to go through Metal if possible. From my current understanding this can be done by compiling the zig kernel to spirv with something similar to the following from the above link:

// SPIR-V:
//     zig build-obj -target spirv64-vulkan-none -mcpu vulkan_v1_2+int64 \
//     -ofmt=spirv -fno-llvm kernel.zig
//     zig build-obj -target spirv64-opencl-none -mcpu opencl_v2+int64 \
//     -ofmt=spirv -fno-llvm kernel.zig

And then use SPIRV-Cross to cross compile from spirv to Metal Shading Language (MSL), which can then be compiled going .metal → .ir → .metallib.

Does anyone have experience with a setup like this (or zig kernels on macOS some other way)? Is there a simpler way than what I am imaging?