Things to highlight:
-
services-flakeprovides pre-defined configurations for many services, reducing a bunch of lines to justservices.<service>.<instance>.enable = true; -
Data directory for all services in
services-flakeis local to the project working directory, by default -
Best practices:
- Use Unix sockets for local development and CI to avoid binding to ports (which is global to the interface)
-
Write integration tests using the reserved
testprocess inprocess-compose-flake.