-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.yml
134 lines (115 loc) · 3.37 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
---
- hosts: localhost
tasks:
- name: Install homebrew
include_role:
name: geerlingguy.mac.homebrew
- name: Make sure homebrew bin is in path
ansible.builtin.lineinfile:
path: /etc/paths
state: present
line: '/opt/homebrew/bin'
become: true
become_user: root
- name: 'add custom homebrew repos'
community.general.homebrew_tap:
name: [
homebrew/cask-versions,
thoughtbot/formulae,
hashicorp/tap,
]
- name: Install core packages via brew casks
community.general.homebrew_cask:
name: "{{ item }}"
ignore_errors: yes
with_items:
- docker
- slack
- visual-studio-code
- lens
- name: "Install homebrew packages"
community.general.homebrew:
name: [
'awscli',
'curl',
'htop',
'imagemagick@6',
'kubectx',
'kubernetes-cli',
'kubernetes-helm',
'libtool',
'libxslt',
'libyaml',
'mas',
'openssl' ,
'pkg-config',
'postgresql',
'rcm',
'readline',
'unixodbc',
'unzip',
'watchman',
'xz',
'yarn',
'zlib',
'nodejs',
'hashicorp/tap/terraform',
'zsh',
'cowsay',
'lolcat',
'fortune'
]
state: present
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: Install GCloud CLI
shell: "./gcloud.sh"
- 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
# # 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