Allow the user to execute commands at the beginning of the X session.

The difference between xsession and xprofile is, that xsession is exec'd and xprofile is sourced.
So with xprofile all commands after sourcing will still be exectued. This allows for instance the
start of a window manager via configuration.nix.