I would love to try FreeBSD but I'm too addicted to NixOS... If there was a way to have a NixOS-like declarative BSD system I'd give it a serious try.
https://man.freebsd.org/cgi/man.cgi?rc.conf
It's not as completely declarative as Nix but it was never intended to be.
- /boot/loader.conf for kernel settings to be set only at boot
- /etc/sysctl.conf for kernel settings to be set anytime
- /etc/rc.conf for rest of configuration
The other big difference I notice between NixOS and e.g. Debian is that on NixOS I only have to specify the changes from the defaults. On e.g. Debian I usually have to change config files that already exist. Then when the package updates its default config I end up having to review all the changes to the config, even when they have nothing to do with what I've explicitly configured.