I can confirm that the /usr/sbin transition was not complete on my system, but fixing that did not fix the original problem. Executing "xbps-reconfigure -f nvidia" still gets me:
Regenerating initramfs, please wait...
/usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh: line 13: /lib/modules/4.0.4_1//kernel/drivers/video/nvidia.ko: No such file or directory
/usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh: line 13: /lib/modules/4.0.4_1//kernel/drivers/video/nvidia-uvm.ko: No such file or directory
So I went to /usr/src/nvidia-346.72 and tried a "make":
NVIDIA: calling KBUILD...
make[1]: Entering directory '/usr/src/kernel-headers-4.0.4_1'
make -f ./Makefile silentoldconfig
make -f ./scripts/Makefile.build obj=scripts/basic
rm -f .tmp_quiet_recordmcount
make -f ./scripts/Makefile.build obj=scripts/kconfig silentoldconfig
mkdir -p include/config include/generated
scripts/kconfig/conf --silentoldconfig Kconfig
make -f ./scripts/Makefile.build obj=arch/x86/syscalls all
scripts/Makefile.build:44: arch/x86/syscalls/Makefile: No such file or directory
make[2]: *** No rule to make target 'arch/x86/syscalls/Makefile'. Stop.
arch/x86/Makefile:181: recipe for target 'archheaders' failed
make[1]: *** [archheaders] Error 2
make[1]: Leaving directory '/usr/src/kernel-headers-4.0.4_1'
NVIDIA: left KBUILD.
nvidia.ko failed to build!
nvidia-modules-common.mk:248: recipe for target 'module' failed
make: *** [module] Error 1
As is to be expected, the same happens in /usr/src/kernel-headers-4.0.4_1 directly:
scripts/Makefile.build:44: arch/x86/syscalls/Makefile: No such file or directory
make[1]: *** No rule to make target 'arch/x86/syscalls/Makefile'. Stop.
arch/x86/Makefile:181: recipe for target 'archheaders' failed
make: *** [archheaders] Error 2
That "arch/x86/syscalls" directory is not part of the linux4.0-headers package. Do I need to generate it somehow? Or am I missing something else entirely?