Really? I miss Brazil and version sets regularly and often think about reimplementing the parts I find valuable on top of an existing package system.
Having self contained workspaces with all dependencies in any language, fine grained ability to replace any package with a local build, and the simplicity of package config (for most languages) was awesome.
Having to use _n_ language dependent build systems without interface pinning or reproducible builds since leaving sucked, imho. Checking out a package and running `bb` to get an artifact was just so satisfying.
I would check out <https://nixos.org/> if you're looking for a similar experience to Brazil.
My own opinion is that the Brazil had far too many running parts. I didn't like that reproducibility required the tool interacting with 3-4 different services, and I'm much more a fan of having the source code repository act as a single source of truth for reproducibility. Plus, using Brazil meant you had to use their entire tech stack, where GitLab/GitHub beat them by far.
I’ve looked into Nix at the previous company I worked for for exactly those reasons. I spent a bunch of time writing minimal dependency builders and artifact reuse for a maven monorepo where I had to tread carefully and not break the build. Nix seemed like a great way to get inter-repo dependent builds and dependency modeling.
Having self contained workspaces with all dependencies in any language, fine grained ability to replace any package with a local build, and the simplicity of package config (for most languages) was awesome.
Having to use _n_ language dependent build systems without interface pinning or reproducible builds since leaving sucked, imho. Checking out a package and running `bb` to get an artifact was just so satisfying.