If you haven't tried it in the last year or two, then you might want to give it another try. Keep to some simple rules:
- Look for 'enable' toggles for particular software (for configuration.nix), rather than adding just the package. If it exists, use it; it wraps any extra configuration that's needed.
- Don't use nix-env. If you want a package installed temporarily, use nix-shell. Your system is probably single-user anyway, right? This way you can put configuration.nix in git.
- If you must use unpackaged software, then install and use steam-run. Despite the name, it's really just an Ubuntu-esque chroot. (...which duplicates the Steam runtime environment, yeah.)
Forcing people to build package recipes for everything they want to use is helpful, but not actually required. :)