separating osx and linux setup logic