customized to my needs
This commit is contained in:
174
ansible_osx.yml
174
ansible_osx.yml
@@ -16,12 +16,7 @@
|
|||||||
- name: 'add custom homebrew repos'
|
- name: 'add custom homebrew repos'
|
||||||
community.general.homebrew_tap:
|
community.general.homebrew_tap:
|
||||||
name: [
|
name: [
|
||||||
adoptopenjdk/openjdk,
|
|
||||||
fishtown-analytics/dbt,
|
|
||||||
heroku/brew,
|
|
||||||
homebrew/cask-versions,
|
homebrew/cask-versions,
|
||||||
thoughtbot/formulae,
|
|
||||||
weaveworks/tap,
|
|
||||||
]
|
]
|
||||||
|
|
||||||
- name: Install core packages via brew casks
|
- name: Install core packages via brew casks
|
||||||
@@ -29,143 +24,43 @@
|
|||||||
name: "{{ item }}"
|
name: "{{ item }}"
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
with_items:
|
with_items:
|
||||||
- 1password
|
|
||||||
- android-sdk
|
|
||||||
- android-studio
|
|
||||||
- datagrip
|
|
||||||
- docker
|
|
||||||
- dropbox
|
- dropbox
|
||||||
- figma
|
|
||||||
- google-chrome
|
- google-chrome
|
||||||
- google-cloud-sdk
|
|
||||||
- iterm2
|
- iterm2
|
||||||
- kindle
|
- kindle
|
||||||
- ngrok
|
|
||||||
- slack
|
- slack
|
||||||
- sublime-text
|
- sublime-text
|
||||||
- telegram
|
|
||||||
- visual-studio-code
|
|
||||||
- vlc
|
|
||||||
- zoom
|
- zoom
|
||||||
- tuple
|
- discord
|
||||||
|
- moom
|
||||||
|
- signal
|
||||||
|
- spotify
|
||||||
|
- whatsapp
|
||||||
|
- alfred
|
||||||
|
- kitty
|
||||||
|
|
||||||
- name: "Install homebrew packages"
|
- name: "Install homebrew packages"
|
||||||
community.general.homebrew:
|
community.general.homebrew:
|
||||||
name: [
|
name: [
|
||||||
'autoconf',
|
|
||||||
'automake',
|
|
||||||
'aws-iam-authenticator',
|
|
||||||
'awscli',
|
'awscli',
|
||||||
'bfg',
|
|
||||||
'coreutils',
|
|
||||||
'curl',
|
'curl',
|
||||||
'dbt@0.18.0',
|
|
||||||
'direnv',
|
|
||||||
'dnsmasq',
|
|
||||||
'fzf',
|
'fzf',
|
||||||
'gnu-time',
|
|
||||||
'gpg',
|
|
||||||
'heroku',
|
|
||||||
'htop',
|
|
||||||
'imagemagick@6',
|
|
||||||
'kubectx',
|
|
||||||
'kubernetes-cli',
|
|
||||||
'kubernetes-helm',
|
|
||||||
'libtool',
|
|
||||||
'libxslt',
|
|
||||||
'libyaml',
|
|
||||||
'mas',
|
|
||||||
'openssl' ,
|
|
||||||
'pkg-config',
|
|
||||||
'postgresql',
|
'postgresql',
|
||||||
'rcm',
|
|
||||||
'readline',
|
'readline',
|
||||||
'redis',
|
'redis',
|
||||||
'sqlite3',
|
'sqlite3',
|
||||||
'tmux',
|
'tmux',
|
||||||
'unixodbc',
|
'nvim',
|
||||||
'unzip',
|
'mas',
|
||||||
'vim',
|
'bat',
|
||||||
'watchman',
|
'fish',
|
||||||
'xz',
|
'neovim',
|
||||||
|
'gh',
|
||||||
'yarn',
|
'yarn',
|
||||||
'zlib',
|
|
||||||
'zsh',
|
|
||||||
]
|
]
|
||||||
state: present
|
state: present
|
||||||
update_homebrew: yes
|
update_homebrew: yes
|
||||||
|
|
||||||
- name: "Install from Mac app store"
|
|
||||||
shell: mas install {{ item }}
|
|
||||||
with_items:
|
|
||||||
- 497799835 # xcode
|
|
||||||
|
|
||||||
- name: Get the path to ZSH
|
|
||||||
become: false
|
|
||||||
local_action: command which zsh
|
|
||||||
register: zsh_path
|
|
||||||
|
|
||||||
- name: "Ensure homebrew zsh is in allowed shells"
|
|
||||||
lineinfile:
|
|
||||||
path: /etc/shells
|
|
||||||
line: "{{ zsh_path.stdout }}"
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Install Oh My ZSH
|
|
||||||
shell: sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
|
|
||||||
args:
|
|
||||||
creates: "/Users/{{ lookup('env', 'USER') }}/.oh-my-zsh"
|
|
||||||
|
|
||||||
- name: Set ZSH as the default shell
|
|
||||||
shell: chsh -s $(which zsh) {{ lookup('env', 'USER') }}
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: "Create a default ZSH configuration"
|
|
||||||
template:
|
|
||||||
src: templates/.zshrc.j2
|
|
||||||
dest: /Users/{{ lookup('env', 'USER') }}/.zshrc
|
|
||||||
owner: "{{ lookup('env', 'USER') }}"
|
|
||||||
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: yes
|
|
||||||
|
|
||||||
- name: Create a default VSCode keuybinding configuration
|
|
||||||
template:
|
|
||||||
src: templates/vscode-keybindings.json.j2
|
|
||||||
dest: /Users/{{ lookup('env', 'USER') }}/Library/Application Support/Code/User/keybindings.json
|
|
||||||
owner: "{{ lookup('env', 'USER') }}"
|
|
||||||
force: yes
|
|
||||||
|
|
||||||
# Add something which ensures path is set here
|
|
||||||
- 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
|
|
||||||
- richie5um2.vscode-sort-json
|
|
||||||
- Tyriar.sort-lines
|
|
||||||
- vscodevim.vim
|
|
||||||
- wholroyd.jinja
|
|
||||||
- wingrunr21.vscode-ruby
|
|
||||||
- xabikos.javascriptsnippets
|
|
||||||
- streetsidesoftware.code-spell-checker
|
|
||||||
- fabiospampinato.vscode-todo-plus
|
|
||||||
|
|
||||||
- git:
|
- git:
|
||||||
repo: https://github.com/asdf-vm/asdf.git
|
repo: https://github.com/asdf-vm/asdf.git
|
||||||
dest: "/Users/{{ lookup('env', 'USER') }}/.asdf"
|
dest: "/Users/{{ lookup('env', 'USER') }}/.asdf"
|
||||||
@@ -183,61 +78,36 @@
|
|||||||
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
|
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
|
||||||
asdf plugin-add {{ item }} || exit 0
|
asdf plugin-add {{ item }} || exit 0
|
||||||
with_items:
|
with_items:
|
||||||
- ruby
|
|
||||||
- elixir
|
|
||||||
- nodejs
|
- nodejs
|
||||||
- python
|
- python
|
||||||
- erlang
|
- rust
|
||||||
|
|
||||||
- name: "Install Default Python"
|
- name: "Install Default Python"
|
||||||
shell: |
|
shell: |
|
||||||
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
|
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
|
||||||
asdf install python 3.10.0
|
asdf install python 3.10.1
|
||||||
asdf global python 3.10.0
|
asdf global python 3.10.1
|
||||||
pip3 install ansible
|
pip3 install ansible
|
||||||
asdf reshim python
|
asdf reshim python
|
||||||
|
|
||||||
- name: "Install Default Ruby"
|
- name: "Install default Rust"
|
||||||
shell: |
|
shell: |
|
||||||
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
|
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
|
||||||
asdf install ruby 3.0.2
|
asdf install rust 1.58.1
|
||||||
asdf global ruby 3.0.2
|
asdf global rust 1.58.1
|
||||||
gem install bundler
|
asdf reshim rust
|
||||||
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 16.4.2
|
asdf install nodejs 17.4.0
|
||||||
asdf global nodejs 16.4.2
|
asdf global nodejs 17.4.0
|
||||||
|
|
||||||
- name: "Install default erlang"
|
|
||||||
shell: |
|
|
||||||
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
|
|
||||||
asdf install erlang 24.0.2
|
|
||||||
asdf global erlang 24.0.2
|
|
||||||
|
|
||||||
|
|
||||||
- name: "Install default elixir"
|
|
||||||
shell: |
|
|
||||||
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
|
|
||||||
asdf install elixir 1.12.3-otp-24
|
|
||||||
asdf global elixir 1.12.3-otp-24
|
|
||||||
mix local.hex --force
|
|
||||||
|
|
||||||
- name: Install yarn packages
|
- name: Install yarn packages
|
||||||
shell: yarn global add {{ item }}
|
shell: yarn global add {{ item }}
|
||||||
with_items:
|
with_items:
|
||||||
- react-native-cli
|
|
||||||
- create-react-app
|
- create-react-app
|
||||||
- apollo
|
|
||||||
- generator-generator
|
|
||||||
- yo
|
|
||||||
|
|
||||||
- name: re-generate bins now we've installed some yarn packages
|
- name: re-generate bins now we've installed some yarn packages
|
||||||
shell: asdf reshim nodejs
|
shell: asdf reshim nodejs
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
15
manual_tasks.md
Normal file
15
manual_tasks.md
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
## Manual
|
||||||
|
- [ ] Remap Caps Lock to Escape
|
||||||
|
- [ ] change scroll direction
|
||||||
|
- [ ] turn off touch bar (fn key)
|
||||||
|
- [ ] Twisted Wave
|
||||||
|
- [ ] Smart Countdown Timer
|
||||||
|
- [ ] Close.io
|
||||||
|
- [ ] set fish or bash as the main terminal (not zsh)
|
||||||
|
|
||||||
|
# Config
|
||||||
|
- dotfiles
|
||||||
|
- gitignore
|
||||||
|
- kittyconfig (name?)
|
||||||
|
- fishconfig (name?)
|
||||||
|
- a way to link them to the right spot
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
- name: "Install homebrew packages"
|
|
||||||
community.general.homebrew:
|
|
||||||
name: [ dnsmasq ]
|
|
||||||
state: present
|
|
||||||
update_homebrew: true
|
|
||||||
|
|
||||||
- name: "Get config directory"
|
|
||||||
shell:
|
|
||||||
cmd: echo "$(brew --prefix)/etc/"
|
|
||||||
register: config_directory
|
|
||||||
|
|
||||||
- name: Create config directory
|
|
||||||
file:
|
|
||||||
path: "{{ config_directory.stdout | trim }}"
|
|
||||||
state: directory
|
|
||||||
|
|
||||||
- name: Create config
|
|
||||||
template:
|
|
||||||
src: dnsmasq.conf.j2
|
|
||||||
dest: "{{ config_directory.stdout | trim }}/dnsmasq.conf"
|
|
||||||
|
|
||||||
- name: Create resolvers directory
|
|
||||||
file:
|
|
||||||
path: /etc/resolver/
|
|
||||||
state: directory
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Create resolver
|
|
||||||
template:
|
|
||||||
src: local-resolver.j2
|
|
||||||
dest: /etc/resolver/localhost
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: Notes
|
|
||||||
debug:
|
|
||||||
msg: "Remember must be started with sudo, e.g. sudo brew services start dnsmasq"
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
address=/.localhost/127.0.0.1
|
|
||||||
port=53
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
nameserver 127.0.0.1
|
|
||||||
Reference in New Issue
Block a user