*extreme nerd voice: "just use Nix"
How is it for the docker-compose 'I need x, y, z running' use case? It's not something I need that much, there are various shell.nix hacks I've seen to (e.g.) get Postgres running for Elixir development. They work, but it's not as rich an approach as the rest of Nix.
Docker and Compose look pretty straightforward in comparison, at least for local development.