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.