Instead of explicitly coding all your , lets say your icon paths, you can query Maya to return the location of your preferences pathname during startup. This way you can set your own custom path that can be picked up from multiple users during maya startup.

global proc shelf_soup(){
  string $appver= `about -preferences`; 
  string $soupIcon= ($appver + "/prefs/icons/soup/");
	//Or wherever the shelf location might be
	//Other useful commands are `getenv "MAYA_APP_DIR"`
	shelfButton
		-enabl...

Continue reading ...