1) As many cores as possible. Renderers like LuxRender work well with HyperThreading, so I would say 8 logical cores at the minimum. 16 logical cores is more ideal. Beyond that, you start to run into contention issues with all the cores trying to add their contributions to the shared film memory buffer (though this has been improved with the tile-based locking in LuxRender).
2) As much memory as possible. 8GB bare minimum, 12GB more realistic minimum, 24GB-32GB ideal. (I have LuxRender running right now on a render taking nearly 10GB of RAM to render at 2560x1440 with eight light groups and outlier rejection enabled. 4.5-6.5GB is probably ‘normal’ for LuxRender RAM usage at 2560x1440 with only one or two light groups. At 5kx3k resolution, it’s easy to consume 18-20GB of RAM in the LuxRender process.) Unlike many apps, exceeding physical memory with LuxRender will absolutely kill your machine. LuxRender continuously touches almost all of its working memory. Thus, there are no sections that can be pushed to swap on disc and stay there because they are infrequently accessed. With Windows 7, LuxRender exceeding physical memory usually causes so much swapping that it literally requires hard rebooting the machine to get the system to recover.
3) Lots of HD space for all your content and your .flm files generated by LuxRender, if you intend to keep them around.
(And I know you said only 3, but…)
4) An external drive to do regular backups to.
You’ll note that I did not include GPU power in my list. Most GPUs these days will be more than sufficient for the viewport rendering within Studio itself while you are building your scenes. GPU rendering in LuxRender is still not ready for prime time; the same scene rendered in hybrid mode will look different than CPU-only rendering. And not different in a good way, either… And SLG is extremely limited for what it can do vs. full LuxRender. While hybrid mode has been improving, it can often be slower than all-native CPU rendering unless you are rendering extremely complex scenes. (The overhead of collecting and sending rays to the GPU to trace can outweigh the performance of the GPU over just tracing the rays on the CPU.) SLG is much faster, since it is entirely GPU based. But it’s so crippled in terms of features supported and GPU memory restrictions that it’s not something you can rely/depend on. You’d be better off getting multiple machines to take advantage of LuxRender’s network rendering feature than spending a ton of money on a fancy GPU.