Use zw3rk cache in gitlab jobs
This MR:
- replaces the Gitlab CI based caching with the
cache.zw3rk.com
nix binary cache - Replaces the niv based input pinning with flakes and flake-compat (to keep the interface the same)
- Adds the build env to the flake so it can be cached by
cache.zw3rk.com
- Update gitlab job definitions to minimise calls to nix