add shell type detection and shell specific profile file sourcing