Syncthing
Available as a standalone package:
nix-env -iA nixos.syncthing
It can also be enabled as a service. You'll typically want to set the user and the config dir, as with the default values ("syncthing" for the user, "/var/lib/syncthing" for the dir) you won't be able to access the files:
services = { syncthing = { enable = true; user = "myusername"; dataDir = "/home/myusername/Downloads"; configDir = "/home/myusername/Downloads/.config/syncthing"; } }