For real though, containerization isn’t the only way to separate applications from each other but totally fine, it’s the “It works on my machine, so here’s my machine” mentality that doesn’t fill me with confidence. I’ve seen too much barely-working jank in containers that probably only get updated when a new version of the containerized application itself is released.
What gets me is people migrating from VMs treating it like an entire host machine.
There is a lack of knowledge among developers regarding precompiling assets and classes (if interpreted), and people are trying to do too much in startup scripts.
Another thing I hate is wrapping the entire process in a script because people want to kill the main process without restarting the container. Yikes!
It creates a set of symlinks so every program sees exactly the dependencies it needs.
https://nixos.org/guides/nix-pills/09-automatic-runtime-dependencies#automatic-runtime-dependencies
You can also create a container:
https://nixos.wiki/wiki/NixOS_Containers
Or you can create reproducible docker containers with nix:
https://dev.to/anurag_vishwakarma/a-better-way-to-build-reproducible-docker-images-with-nix-2k59
The secret sauce with nix is reproducibility. If it builds once, it will continue building exactly like that forever. Bit by bit.