forked from TalkingQuickly/ansible-osx-setup
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ansible_osx.yml
104 lines (91 loc) · 2.51 KB
/
ansible_osx.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
---
- 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: [
heroku/brew
]
- name: Install core packages via brew casks
community.general.homebrew_cask:
name: "{{ item }}"
ignore_errors: yes
with_items:
- docker
- drawio
- google-chrome
- visual-studio-code
- vlc
- microsoft-teams
- slack
- name: "Install homebrew packages"
community.general.homebrew:
name: [
'bfg',
'pkgconfig',
'zlib',
'curl',
'direnv',
'gnu-time',
'gpg',
'heroku',
'htop',
'kubectx',
'kubernetes-cli',
'kubernetes-helm',
'kubeseal',
'openssl' ,
'postgresql',
'zsh',
'youtube-dl',
'tree',
'doppler',
'yq',
'jq',
'yamllint'
]
state: present
update_homebrew: yes
- 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: Install dotfiles
include_role:
name: geerlingguy.dotfiles
vars:
dotfiles_repo: "https://github.com/altitudems/dotfiles.git"
dotfiles_repo_version: main
dotfiles_repo_local_destination: "~/code/personal/dotfiles"
dotfiles_files:
- .osx
- .zshrc.personal.after
- .inputrc