adds: updates following latest big sur re-install

This commit is contained in:
Ben Dixon
2021-01-01 12:00:47 +08:00
parent 8197fc33d2
commit 404950bba8
8 changed files with 153 additions and 81 deletions

View File

@@ -10,10 +10,14 @@ Install Ansible
``` ```
sudo easy_install pip sudo easy_install pip
sudo pip install ansible sudo pip install --ignore-installed ansible
``` ```
Get community.general collection:
```
ansible-galaxy install -r requirements.yml
```
To run playbook: To run playbook:
@@ -25,4 +29,10 @@ You can run a role directly with:
``` ```
ansible localhost -m include_role -a name=dnsmasq --ask-become-pass ansible localhost -m include_role -a name=dnsmasq --ask-become-pass
``` ```
## Structure
-

View File

@@ -2,28 +2,31 @@
- hosts: localhost - hosts: localhost
tasks: tasks:
- name: Install homebrew - name: Install homebrew
shell: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" include_role:
name: geerlingguy.homebrew
- name: Setup dnsmasq - name: Setup dnsmasq
include_role: dnsmasq include_role:
become: true name: dnsmasq
- name: 'add custom homebrew repos' - name: 'add custom homebrew repos'
homebrew_tap: community.general.homebrew_tap:
name: [ name: [
heroku/brew,
thoughtbot/formulae,
caskroom/versions,
adoptopenjdk/openjdk, adoptopenjdk/openjdk,
fishtown-analytics/dbt,
heroku/brew,
homebrew/cask-versions,
thoughtbot/formulae,
weaveworks/tap, weaveworks/tap,
fishtown-analytics/dbt
] ]
- name: Install core packages via brew casks - name: Install core packages via brew casks
homebrew_cask: name={{ item }} state=present community.general.homebrew_cask:
name: "{{ item }}"
ignore_errors: yes ignore_errors: yes
with_items: with_items:
- 1password - 1password
- adoptopenjdk/openjdk/adoptopenjdk8
- android-sdk - android-sdk
- android-studio - android-studio
- dash - dash
@@ -34,7 +37,6 @@
- google-cloud-sdk - google-cloud-sdk
- graphql-playground - graphql-playground
- iterm2 - iterm2
- adoptopenjdk/openjdk/adoptopenjdk8
- kindle - kindle
- microsoft-office - microsoft-office
- ngrok - ngrok
@@ -45,6 +47,7 @@
- sketch - sketch
- slack - slack
- sublime-text - sublime-text
- telegram
- tunnelblick - tunnelblick
- vagrant - vagrant
- virtualbox - virtualbox
@@ -54,15 +57,15 @@
- zoomus - zoomus
- name: "Install homebrew packages" - name: "Install homebrew packages"
homebrew: community.general.homebrew:
name: [ name: [
'autoconf', 'autoconf',
'automake', 'automake',
'awscli',
'aws-iam-authenticator', 'aws-iam-authenticator',
'awscli',
'coreutils', 'coreutils',
'curl', 'curl',
'dbt', 'dbt@0.18.0',
'direnv', 'direnv',
'dnsmasq', 'dnsmasq',
'erlang', 'erlang',
@@ -70,6 +73,7 @@
'gnu-time', 'gnu-time',
'gpg', 'gpg',
'heroku', 'heroku',
'htop',
'imagemagick@6', 'imagemagick@6',
'kubectx', 'kubectx',
'kubernetes-cli', 'kubernetes-cli',
@@ -88,8 +92,8 @@
'redis', 'redis',
'sqlite3', 'sqlite3',
'sshfs', 'sshfs',
'tmux',
'terraform', 'terraform',
'tmux',
'unixodbc', 'unixodbc',
'unzip', 'unzip',
'vim', 'vim',
@@ -97,8 +101,8 @@
'weaveworks/tap/eksctl', 'weaveworks/tap/eksctl',
'xz', 'xz',
'yarn', 'yarn',
'zsh',
'zlib', 'zlib',
'zsh',
] ]
state: present state: present
update_homebrew: yes update_homebrew: yes
@@ -111,35 +115,6 @@
dest: "/Users/{{ lookup('env', 'USER') }}/.asdf" dest: "/Users/{{ lookup('env', 'USER') }}/.asdf"
version: v0.7.1 version: v0.7.1
- name: Install Addroid SDKs etc
shell: yes | sdkmanager "{{ item }}" --sdk_root=/Users/{{ lookup('env', 'USER') }}/Library/Android/sdk
with_items:
- "add-ons;addon-google_apis-google-21"
- "add-ons;addon-google_apis-google-22"
- "add-ons;addon-google_apis-google-23"
- "build-tools;23.0.1"
- "build-tools;23.0.3"
- "build-tools;25.0.2"
- "build-tools;25.0.3"
- "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;28.0.3"
- "extras;android;m2repository"
- "extras;google;google_play_services"
- "extras;google;m2repository"
- "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1"
- "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2"
- "platforms;android-23"
- "platforms;android-25"
- "platforms;android-26"
- "platforms;android-27"
- "platforms;android-28"
- "system-images;android-23;google_apis;x86"
- "system-images;android-26;google_apis;x86"
- name: Get the path to ZSH - name: Get the path to ZSH
become: false become: false
local_action: command which zsh local_action: command which zsh
@@ -174,6 +149,35 @@
owner: "{{ lookup('env', 'USER') }}" owner: "{{ lookup('env', 'USER') }}"
force: yes force: yes
- name: Create a default VSCode configuration
template:
src: templates/vscode-settings.json.j2
dest: /Users/{{ lookup('env', 'USER') }}/Library/Application Support/Code/User/settings.json
owner: "{{ lookup('env', 'USER') }}"
force: no
- name: Install VSCode extensions
shell: code --install-extension {{ item }}
with_items:
- apollographql.vscode-apollo
- bradlc.vscode-tailwindcss
- castwide.solargraph
- clinyong.vscode-css-modules
- eamodio.gitlens
- jakebecker.elixir-ls
- kaiwood.endwise
- karunamurti.haml
- ms-vscode-remote.vscode-remote-extensionpack
- ms-vscode.vscode-typescript-tslint-plugin
- msjsdiag.debugger-for-chrome
- rebornix.ruby
- Tyriar.sort-lines
- vscodevim.vim
- vscoss.vscode-ansible
- wholroyd.jinja
- wingrunr21.vscode-ruby
- xabikos.javascriptsnippets
- name: "Install asdf plugins" - name: "Install asdf plugins"
shell: | shell: |
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
@@ -183,6 +187,7 @@
- elixir - elixir
- nodejs - nodejs
- python - python
- erlang
- name: "Install Default Python" - name: "Install Default Python"
shell: | shell: |
@@ -194,7 +199,7 @@
asdf global python 3.7.3 asdf global python 3.7.3
pip3 install boto pip3 install boto
pip3 install ansible pip3 install ansible
pip3 install jupyterlab pip3 install jupyterlab`
pip3 isntall numpy pip3 isntall numpy
pip3 install scipy pip3 install scipy
pip3 install matplotlib pip3 install matplotlib
@@ -209,27 +214,28 @@
- name: "Install Default Ruby" - name: "Install Default Ruby"
shell: | shell: |
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
asdf install ruby 2.4.2 asdf install ruby 3.0.0
asdf global ruby 2.4.2 asdf install ruby 2.7.2
gem install bundler -v 1.17.3 asdf global ruby 3.0.0
gem install bundler -v 2.2.4
gem install cocoapods gem install cocoapods
gem install rubocop
gem install solargraph
- name: "Install default node" - name: "Install default node"
shell: | shell: |
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
bash /Users/{{ lookup('env', 'USER') }}/.asdf/plugins/nodejs/bin/import-release-team-keyring bash /Users/{{ lookup('env', 'USER') }}/.asdf/plugins/nodejs/bin/import-release-team-keyring
asdf install nodejs 11.11.0 asdf install nodejs 14.15.3
asdf install nodejs 10.8.0 asdf global nodejs 14.15.3
asdf install nodejs 9.11.1
asdf global nodejs 11.11.0
- name: "Install default elixir" - name: "Install default elixir"
shell: | shell: |
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
asdf install elixir 1.6 asdf install elixir 1.11.2
asdf install elixir 1.9.1 asdf global elixir 1.11.2
asdf global elixir 1.9.1 mix local.hex --force
mix archive.install hex phx_new 1.4.9 --force mix archive.install hex phx_new 1.5.7 --force
- name: Install yarn packages - name: Install yarn packages
shell: yarn global add {{ item }} --prefix /usr/local shell: yarn global add {{ item }} --prefix /usr/local
@@ -240,25 +246,31 @@
- generator-generator - generator-generator
- yo - yo
- name: Install VSCode extensions - name: Install Addroid SDKs etc
shell: code --install-extension {{ item }} shell: yes | sdkmanager "{{ item }}" --sdk_root=/Users/{{ lookup('env', 'USER') }}/Library/Android/sdk
with_items: with_items:
- apollographql.vscode-apollo - "add-ons;addon-google_apis-google-21"
- clinyong.vscode-css-modules - "add-ons;addon-google_apis-google-22"
- eamodio.gitlens - "add-ons;addon-google_apis-google-23"
- kaiwood.endwise - "build-tools;23.0.1"
- karunamurti.haml - "build-tools;23.0.3"
- ms-vscode.vscode-typescript-tslint-plugin - "build-tools;25.0.2"
- PeterJausovec.vscode-docker - "build-tools;25.0.3"
- peterjausovec.vscode-docker - "build-tools;26.0.0"
- rebornix.ruby - "build-tools;26.0.1"
- Tyriar.sort-lines - "build-tools;26.0.2"
- vscoss.vscode-ansible - "build-tools;26.0.3"
- "build-tools;27.0.3"
- "build-tools;28.0.3"
- name: Create a default VSCode configuration - "extras;android;m2repository"
template: - "extras;google;google_play_services"
src: templates/vscode-settings.json.j2 - "extras;google;m2repository"
dest: /Users/{{ lookup('env', 'USER') }}/Library/Application Support/Code/User/settings.json - "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1"
owner: "{{ lookup('env', 'USER') }}" - "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2"
force: no - "platforms;android-23"
- "platforms;android-25"
- "platforms;android-26"
- "platforms;android-27"
- "platforms;android-28"
- "system-images;android-23;google_apis;x86"
- "system-images;android-26;google_apis;x86"

View File

7
bin/bootstrap Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/sh
sudo xcodebuild -license
sudo easy_install pip
sudo pip install --ignore-installed ansible
ansible-galaxy install -r requirements.yml
ansible-playbook -i "localhost," -c local ansible_osx.yml --ask-become-pass

7
requirements.yml Normal file
View File

@@ -0,0 +1,7 @@
---
roles:
- name: geerlingguy.homebrew
collections:
- name: https://github.com/ansible-collections/community.general.git
type: git
version: main

View File

@@ -1,5 +1,5 @@
- name: "Install homebrew packages" - name: "Install homebrew packages"
homebrew: community.general.homebrew:
name: [ dnsmasq ] name: [ dnsmasq ]
state: present state: present
update_homebrew: true update_homebrew: true

View File

@@ -19,6 +19,7 @@ export ZSH=$HOME/.oh-my-zsh
ZSH_THEME="robbyrussell" ZSH_THEME="robbyrussell"
plugins=(git kubectl) plugins=(git kubectl)
DISABLE_UNTRACKED_FILES_DIRTY="true" DISABLE_UNTRACKED_FILES_DIRTY="true"
ZSH_DISABLE_COMPFIX=true
# Load personal pre oh-my-zsh init config which should be stored in ~/.zshrc.personal.before # Load personal pre oh-my-zsh init config which should be stored in ~/.zshrc.personal.before
# E.g. setting ZSH theme etc # E.g. setting ZSH theme etc

View File

@@ -3,5 +3,40 @@
"ruby.codeCompletion": "rcodetools", "ruby.codeCompletion": "rcodetools",
"ruby.format": "rubocop", "ruby.format": "rubocop",
"ruby.useLanguageServer": true, "ruby.useLanguageServer": true,
"editor.tabSize": 2 "window.zoomLevel": 2,
"editor.minimap.enabled": false,
"editor.tabSize": 2,
"typescript.updateImportsOnFileMove.enabled": "always",
"typescript.tsserver.log": "verbose",
"diffEditor.ignoreTrimWhitespace": false,
"explorer.confirmDragAndDrop": false,
"breadcrumbs.enabled": false,
"elixirLS.fetchDeps": false,
"workbench.activityBar.visible": true,
"workbench.statusBar.visible": true,
"gitlens.menus": {
"editor": false,
"editorGroup": false,
"editorTab": false,
"explorer": false,
"scmGroup": false,
"scmItem": false
},
"workbench.sideBar.location": "left",
"workbench.editor.closeEmptyGroups": false,
"zenMode.hideTabs": false,
"zenMode.fullScreen": false,
"workbench.editor.revealIfOpen": true,
"window.title": "${activeEditorLong}${separator}${rootName}",
"zenMode.hideLineNumbers": false,
"editor.lineNumbers": "relative",
"workbench.editor.showTabs": true,
"workbench.editor.labelFormat": "short",
"terminal.integrated.allowChords": false,
"cSpell.language": "en-GB",
"files.associations": {
"*.leex": "html-eex",
"*.html.leex": "html-eex"
},
"path-autocomplete.triggerOutsideStrings": true,
} }