Using service modules for running in development mode

I have a project consisting of several services run by home-grown orchestrator. Services themselves build with nix successfully. We consider to throw away home-grown orchestrator and start the project in production as a collection of systemd services (configured by nixos module).

Which approaches do exist for running several services in developer mode? That is not as system services. Our legacy orchestrator spawns docker images and collects logs; I’m interested in spawning processes defined in my nixos modules, ideally without root privileges.

May be it’s possible to set environment variables for nix develop so that services defined in a flake may run with systemctl --user ...?

It looks to be possible with DBUS_SESSION_BUS_ADDRESS=unix:path=/tmp/my-bus SYSTEMD_UNIT_PATH=/my/units/ systemd --user, then custom unit from /my/units/example.service may be run with DBUS_SESSION_BUS_ADDRESS=unix:path=/tmp/my-bus systemctl --user start example.
But this requires multiple fake targets in /my/units, and I still cannot figure out how to get journal working.
It would be nice to have a ready instruction for such things…

Another task, not finished by me yet: how to get unit files from nixos options systemd.services.*? (Probably I need to learn sources of nixpkgs.lib.nixosSystem, it uses nixos/lib/systemd-lib.nix and hopefully I can reuse this module.)