There’s no best or worst way. Think about what makes sense for you. Splitting files can be useful if you are planning to reuse these files, like in different hosts.
Splitting is probably better for your sanity, if you think like I do. I personally dislike scrolling through a several-thousand line file trying to find what I want.
But this is just asking how you should organise your code; that’s your business entirely.
Just make sure you are using the imports list and not the import builtin.
I share a single repository over all my (15) devices. I separate my .nix-files in layers, and stack them per device (/etc/nixos/) or user (home-manager).
I have a base.nix for all my servers, workstations, laptops and phone.
Then either systemd-boot.nix or extlinux.nix.
To non-servers I add desktop.nix, and either gnome.nix or sway.nix.
The router also has router.nix, the matrix server dendrite.nix, etc.
The top layer is a unique <hostname>.nix per device.
For home-manager I use a file per user shared over all devices.