I once had a setup that installed and started a postgresql server as part of the nix-shell.
Though it was in general quite tedious to deal with and broke every now and then.
In the meantime I got back to the following rule of thumb:
- use nix if it is “just” a program that is run once every now and then
- use docker if it is some service that needs to be running for the app in dev
I can take a look later this evening, if I can recover what I did in that setup if you still want me to.