setup.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/bin/bash
  2. set -e
  3. echo 'setup zsh'
  4. if [ ! -d "$HOME/.oh-my-zsh" ]
  5. then
  6. git clone https://github.com/ohmyzsh/ohmyzsh.git $HOME/.oh-my-zsh
  7. fi
  8. if [ ! -f "$HOME/.zshrc" ]
  9. then
  10. cp $HOME/.oh-my-zsh/templates/zshrc.zsh-template $HOME/.zshrc
  11. echo 'source $HOME/.profile' >> $HOME/.zshrc
  12. fi
  13. echo 'setup nodejs'
  14. if [ ! -d "$HOME/.nvm" ]
  15. then
  16. git clone https://github.com/nvm-sh/nvm.git $HOME/.nvm
  17. cat >> $HOME/.profile <<EOF
  18. export NVM_DIR="\$HOME/.nvm"
  19. [ -s "\$NVM_DIR/nvm.sh" ] && \. "\$NVM_DIR/nvm.sh"
  20. [ -s "\$NVM_DIR/bash_completion" ] && \. "\$NVM_DIR/bash_completion"
  21. EOF
  22. echo 'export PATH=$HOME/.yarn/bin:$PATH' >> $HOME/.profile
  23. fi
  24. cd $HOME/.nvm
  25. git checkout v0.39.1
  26. . $HOME/.nvm/nvm.sh
  27. if ! [ -x "$(command -v yarn)" ]
  28. then
  29. nvm install node
  30. nvm use node
  31. npm install yarn -g
  32. fi
  33. echo 'setup php'
  34. if [ ! -f "$HOME/.local/bin/composer" ]
  35. then
  36. mkdir -p $HOME/.local/bin
  37. wget -O $HOME/.local/bin/composer https://getcomposer.org/installer
  38. chmod +x $HOME/.local/bin/composer
  39. fi
  40. echo 'setup ssh'
  41. if [ ! -d $HOME/.ssh ]
  42. then
  43. mkdir $HOME/.ssh
  44. chmod 700 $HOME/.ssh
  45. cat /tmp/$USER.pub > $HOME/.ssh/authorized_keys
  46. fi
  47. echo 'setup workspace'
  48. if [ ! -L $HOME/www ]
  49. then
  50. ln -sf /workspace/www/$USER $HOME/www
  51. fi
  52. echo "done."
  53. exit 0