3 ms·
Nix (https://nix.dev/ https://nix.dev/) can provide all of this, although in a smarter way than just through dumping everything in the VCS. Some projects use it
by matrss 3y ago
Nix (https://nix.dev/ https://nix.dev/) can provide all of this, although in a smarter way than just through dumping everything in the VCS. Some projects use it already to provide a reproducible development environment and if done right a clean build is just a `nix-build` away.
- delotrag 3y agoHonestly surprised the article didn't mention Nix or Guix. Seems like functional package management solves the exact problems the author is worried about.
- FoodWThrow 3y agoThe article starts with a gamedev disclaimer. Most gamedev folks would rather die on that Microsoft hill than use another OS.
- HumanOstrich 3y agoIt does not provide "all of this" and would just make the experience worse for everyone.
- matrss 3y agoWhat is it missing? Using nix with nixpkgs you can pin all dependencies to a specific version identified by a hash value of that dependencies source code and dependencies, recursively building a dependency graph down to nixpkgs' bootstrap toolchains. That is deeper down than you could reasonably go by dumping everything in the VCS. Building becomes a single command that fetches everything it needs. Even the offline requirement is satisfiable if you prefetch all dependencies, it is just not happening by default (and for good reason, you might already have the toolchain from another project or some other dependencies are already on your system).