From 3369a963db93ff63534f471b8ba71bda88f4a749 Mon Sep 17 00:00:00 2001 From: Ben Dixon Date: Wed, 1 May 2019 14:16:15 +0100 Subject: [PATCH] adds: move to asdf --- ansible_osx.yml | 79 +++++++++++++++++++++++++++------------------ apply | 2 ++ templates/.zshrc.j2 | 25 ++++++++------ 3 files changed, 64 insertions(+), 42 deletions(-) create mode 100755 apply diff --git a/ansible_osx.yml b/ansible_osx.yml index 516958b..0fc0c5f 100644 --- a/ansible_osx.yml +++ b/ansible_osx.yml @@ -18,7 +18,7 @@ - iterm2 # - docker-edge - android-studio - - caskroom/versions/java8 + # - caskroom/versions/java8 - android-sdk - ngrok - zeplin @@ -31,6 +31,8 @@ - amazon-workspaces # - # 1password # @TODO uncomment this once don't have it already installed.... - private-internet-access + # - ADD FUSE and SSHFS (https://osxfuse.github.io/) + - google-cloud-sdk - name: 'add custom homebrew repos' homebrew_tap: @@ -63,7 +65,8 @@ 'libtool', 'unixodbc', 'unzip', - 'curl' + 'curl', + 'gpg' ] state: present update_homebrew: yes @@ -75,7 +78,7 @@ - git: repo: https://github.com/asdf-vm/asdf.git - dest: "/Users/{{ lookup('env', 'USER')/.asdf }}" + dest: "/Users/{{ lookup('env', 'USER') }}/.asdf" version: v0.7.1 # Note that MAS can only installed applications which are already in the "purchased" tab @@ -93,31 +96,31 @@ - name: Install Addroid SDKs etc shell: yes | sdkmanager "{{ item }}" --sdk_root=/Users/{{ lookup('env', 'USER') }}/Library/Android/sdk with_items: + - "platforms;android-23" - "platforms;android-25" - "platforms;android-26" - "platforms;android-27" - "platforms;android-28" - - "platforms;android-23" + - "build-tools;23.0.3" + - "build-tools;23.0.1" - "build-tools;25.0.2" - "build-tools;25.0.3" - - "build-tools;26.0.2" + - "build-tools;26.0.0" - "build-tools;26.0.1" + - "build-tools;26.0.2" + - "build-tools;26.0.3" - "build-tools;27.0.3" - - "build-tools;23.0.3" - - "build-tools;23.0.1" - - "system-images;android-26;google_apis;x86" + - "build-tools;28.0.3" - "system-images;android-23;google_apis;x86" + - "system-images;android-26;google_apis;x86" - "extras;android;m2repository" - "extras;google;m2repository" - "extras;google;google_play_services" - - "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2" - "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1" - - "add-ons;addon-google_apis-google-23" + - "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2" + - "add-ons;addon-google_apis-google-21" - "add-ons;addon-google_apis-google-22" - - "add-ons;addon-google_apis-google-21" - - "build-tools;26.0.0" - - "build-tools;26.0.3" - - "build-tools;28.0.3" + - "add-ons;addon-google_apis-google-23" - name: Get the path to ZSH become: false @@ -137,17 +140,6 @@ shell: chsh -s $(which zsh) {{ lookup('env', 'USER') }} become: true - - name: Install Node Version Manager - shell: > - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash - args: - creates: "{{ ansible_env.HOME }}/.nvm/nvm.sh" - - - name: Install a default node version - shell: | - . "/Users/{{ lookup('env', 'USER') }}/.nvm/nvm.sh" - nvm install node - - name: "Create a default ZSH configuration" template: src: templates/.zshrc.j2 @@ -162,6 +154,29 @@ owner: "{{ lookup('env', 'USER') }}" force: yes + - name: "Install asdf plugins" + shell: asdf plugin-add {{ item }} || exit 0 + with_items: + - ruby + - elixir + - nodejs + + - name: "Install Default Ruby" + shell: | + asdf install ruby 2.4.2 + asdf global ruby 2.4.2 + + - name: "Install default node" + shell: | + asdf install nodejs 11.11.0 + bash /Users/{{ lookup('env', 'USER') }}/.asdf/plugins/nodejs/bin/import-release-team-keyring + asdf global nodejs 11.11.0 + + - name: "Install default elixir" + shell: | + asdf install elixir 1.6 + asdf global elixir 1.6 + - name: Install yarn packages shell: yarn global add {{ item }} --prefix /usr/local with_items: @@ -189,10 +204,10 @@ owner: "{{ lookup('env', 'USER') }}" force: no - - name: Install a global ruby and some core gems - shell: | - eval "$(rbenv init -)" - rbenv install 2.4.2 - rbenv global 2.4.2 - gem update --system - gem install rcodetools rubocop cocoapods rails ruby-lint \ No newline at end of file + # - name: Install a global ruby and some core gems + # shell: | + # eval "$(rbenv init -)" + # rbenv install 2.4.2 + # rbenv global 2.4.2 + # gem update --system + # gem install rcodetools rubocop cocoapods rails ruby-lint \ No newline at end of file diff --git a/apply b/apply new file mode 100755 index 0000000..108d916 --- /dev/null +++ b/apply @@ -0,0 +1,2 @@ +#!/bin/sh +ansible-playbook -i "localhost," -c local ansible_osx.yml --ask-become-pass \ No newline at end of file diff --git a/templates/.zshrc.j2 b/templates/.zshrc.j2 index 4736b29..bfcd759 100644 --- a/templates/.zshrc.j2 +++ b/templates/.zshrc.j2 @@ -7,18 +7,23 @@ export PATH=${PATH}:${ANDROID_HOME}/tools export PATH=${PATH}:${ANDROID_HOME}/platform-tools export PATH=/usr/local/opt/imagemagick@6/bin:${PATH} -# Load rbenv -# eval "$(rbenv init -)" - -# Load nvm -# export NVM_DIR="$HOME/.nvm" -# [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh --no-use" # This loads nvm -# [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion - +# ZSH setup +export ZSH=$HOME/.oh-my-zsh ZSH_THEME="rubbyrussel" +plugins=(git kubectl) +DISABLE_UNTRACKED_FILES_DIRTY="true" -# Load personal ZSH config which should be stored in ~/.zshrc.personal -. ~/.zshrc.personal +# Load personal pre oh-my-zsh init config which should be stored in ~/.zshrc.personal.before +# E.g. setting ZSH theme etc + +. ~/.zshrc.personal.before + +# Load Oh My Zsh +source $ZSH/oh-my-zsh.sh + +# Load personal ZSH config which should be stored in ~/.zshrc.personal.after +# Most ZSH config goes here +. ~/.zshrc.personal.after # Load asdf . $HOME/.asdf/asdf.sh