Under construction.
Slapped together on top of nix shell via zmk firmware/zephyr official docs.
zmk pulled in as a git subtree from https://github.com/zmkfirmware/zmk
zephyr sdk installed via official docs (sans udev rules).
wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.3/zephyr-sdk-0.16.3_linux-x86_64.tar.xz
wget -O - https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.3/sha256.sum | shasum --check --ignore-missing
tar xvf zephyr-sdk-0.16.3_linux-x86_64.tar.xz
cd zephyr-sdk-0.16.3
./setup.sh
git subtree pull --prefix zmk https://github.com/zmkfirmware/zmk.git main --squash
# download and unpack zephyr sdk (see above)
nix-shell
cd zmk
west init -l app/
west update
# iterate here
make build
# flash from zmk/app/build/{left|right}/zephyr/zmk.uf2