I've done variations of this concept, but I never tried that in NixOS.
Something that should be pretty universal though, is to keep it read-only everywhere except one read-write container.
Generally speaking, having multiple containers with write access to the same folder is a recipe for headaches.
Nix / NixOS
Main links
Videos
Why not, I have some really really good combos working, like:
Synching + photoprism
Transmission + jellyfin (optionally with *arr)
Depends on the thing it's doing and how low level it expects to access the storage.
The things you named are pretty much made to work with each other in mind so there's no issue.
Weird issues can happen if two things try to write the same file.
You could always just setup your nextcloud directory to be network mountable
Though I've found badness comes from trying to modify nextcloud's filesystem from outside nextcloud
Good point, nextcloud requires manual scan after files were changed outside of nextcloud
Nextcloud allows webdav and has a guide how to do so manually on linux
You can create a systemd user units that runs a script to mount your nextcloud or systemd user services. I'm not sure how to create it for a specific user instead of all users using the nixos options.
I know home-manager does support systemd services for your user using systemd.user.services
. This has an example. Some dude made a video too.
Not sure if this is what you're looking for, but the nextcloud-client
package works fine on my system.