Solution
{
fileSystems = builtins.mapAttrs (name: value: {
device = "//${value.storageUser}.your-storagebox.de/${value.storageUser}";
fsType = "cifs";
mountPoint = name;
options = [
"x-systemd.automount"
"noauto"
"x-systemd.idle-timeout=60"
"x-systemd.device-timeout=5s"
"x-systemd.mount-timeout=5s"
"credentials=${value.credentials}"
"iocharset=utf8"
"rw"
"nofail"
"seal"
"mfsymlinks"
"uid=${value.uid}"
"gid=${value.gid}"
"file_mode=0740"
"dir_mode=0740"
];
}) {
"/mnt/storage-1" = {
storageUser = "uxxxxxx-sub1";
credentials = "/home/user/sb-1.conf";
uid = builtins.toString config.users.users.foo.uid;
gid = builtins.toString config.users.groups.users.gid;
};
"/mnt/storage-2" = {
storageUser = "uxxxxxx-sub2";
credentials = "/home/user/sb-2.conf";
uid = builtins.toString config.users.users.bar.uid;
gid = builtins.toString config.users.groups.users.gid;
};
"/mnt/storage-2" = {
storageUser = "uxxxxxx-sub4";
credentials = "/home/user/sb-3.conf";
uid = builtins.toString config.users.users.example.uid;
gid = builtins.toString config.users.groups.users.gid;
};
};
}