File tree Expand file tree Collapse file tree 8 files changed +85
-4
lines changed Expand file tree Collapse file tree 8 files changed +85
-4
lines changed Original file line number Diff line number Diff line change 1
1
[defaults]
2
2
nocows = True
3
3
roles_path = ./roles:/etc/ansible/roles
4
+ stdout_callback = yaml
5
+
Original file line number Diff line number Diff line change @@ -5,6 +5,31 @@ configure_dotfiles: true
5
5
configure_terminal : true
6
6
configure_osx : true
7
7
8
+ configure_dock : []
9
+ dockitems_to_remove : []
10
+ # Example: to remove all / some items added by default on Big Sur uncomment use example below
11
+ # dockitems_to_remove:
12
+ # - Launchpad
13
+ # - Safari
14
+ # - Messages
15
+ # - Mail
16
+ # - Maps
17
+ # - Photos
18
+ # - FaceTime
19
+ # - Calendar
20
+ # - Contacts
21
+ # - Reminders
22
+ # - Notes
23
+ # - TV
24
+ # - Music
25
+ # - Podcasts
26
+ # - 'App Store'
27
+
28
+ dockitems_to_persist :
29
+ - name : " Google Chrome"
30
+ path : " /Applications/Google Chrome.app/"
31
+ - name : " Sublime Text"
32
+ path : " /Applications/Sublime Text.app/"
8
33
configure_sudoers : false
9
34
sudoers_custom_config : ' '
10
35
# Example:
Original file line number Diff line number Diff line change 37
37
- include_tasks : tasks/extra-packages.yml
38
38
tags : ['extra-packages']
39
39
40
+ - import_tasks : tasks/dock.yml
41
+ when : configure_dock
42
+ tags : ['dock']
43
+
40
44
- name : Run configured post-provision ansible task files.
41
45
include_tasks : " {{ outer_item }}"
42
46
loop_control :
Original file line number Diff line number Diff line change
1
+ ---
2
+ - name : find if dock {{ item }} exists
3
+ ansible.builtin.command :
4
+ cmd : dockutil --find '{{ item.name }}'
5
+ register : dockitem_exists
6
+ failed_when : ' "No such file or directory" in dockitem_exists.stdout'
7
+ changed_when : false
8
+ tags : ['dock']
9
+ - name : Ensure dock {{ item }} exists
10
+ ansible.builtin.command :
11
+ cmd : dockutil --add '{{ item.path }}'
12
+ when : dockitem_exists.rc >0
13
+ tags : ['dock']
Original file line number Diff line number Diff line change
1
+ ---
2
+ - name : Install dockutil
3
+ homebrew :
4
+ name : dockutil
5
+ state : present
6
+ notify :
7
+ - Clear homebrew cache
8
+ - name : remove dockitems
9
+ ansible.builtin.include_tasks : tasks/remdock.yml
10
+ loop : " {{ dockitems_to_remove }}"
11
+
12
+ - name : Ensure required dock items exist.
13
+ ansible.builtin.include_tasks : tasks/adddock.yml
14
+ with_items : " {{ dockitems_to_persist }}"
15
+
16
+ - name : Ensure correct dock order
17
+ ansible.builtin.command :
18
+ cmd : dockutil --move '{{ item.name }}' --position '{{ item.pos }}'
19
+ when :
20
+ - item.pos is defined
21
+ - item.pos length >0
22
+ loop : " {{ dockitems_to_persist }}"
Original file line number Diff line number Diff line change 5
5
arguments : " {{ item.name | default(item) }} {{ item.version | default('@stable') }}"
6
6
# Ansible 2.4 supports `global_command` making `working_dir` optional.
7
7
working_dir : " {{ lookup('env', 'COMPOSER_HOME') | default('~/.composer', true) }}"
8
- with_items : " {{ composer_packages }}"
8
+ loop : " {{ composer_packages }}"
9
9
10
10
- name : Install global NPM packages.
11
11
npm :
14
14
version : " {{ item.version | default(omit) }}"
15
15
global : true
16
16
executable : " {{ item.executable | default(omit) }}"
17
- with_items : " {{ npm_packages }}"
17
+ loop : " {{ npm_packages }}"
18
18
19
19
- name : Install global Pip packages.
20
20
pip :
21
21
name : " {{ item.name | default(item) }}"
22
22
state : " {{ item.state | default('present') }}"
23
23
version : " {{ item.version | default(omit) }}"
24
24
executable : " {{ item.executable | default(omit) }}"
25
- with_items : " {{ pip_packages }}"
25
+ loop : " {{ pip_packages }}"
26
26
27
27
- name : Install global Ruby gems.
28
28
gem :
31
31
version : " {{ item.version | default(omit) }}"
32
32
user_install : false
33
33
executable : " {{ item.executable | default(omit) }}"
34
- with_items : " {{ gem_packages }}"
34
+ loop : " {{ gem_packages }}"
Original file line number Diff line number Diff line change 3
3
- name : Run .osx dotfiles.
4
4
command : " {{ osx_script }}"
5
5
changed_when : false
6
+ tags : ['osx']
Original file line number Diff line number Diff line change
1
+ ---
2
+ - name : find if dock item exists
3
+ ansible.builtin.command :
4
+ cmd : dockutil --find '{{ item }}'
5
+ register : dockitem_exists
6
+ changed_when : false
7
+ failed_when : ' "No such file or directory" in dockitem_exists.stdout'
8
+ tags : ['dock']
9
+
10
+ - name : Ensure unwanted dock items removed.
11
+ ansible.builtin.command :
12
+ cmd : dockutil --remove '{{ item }}'
13
+ when : dockitem_exists.rc == 0
14
+ tags : ['dock']
You can’t perform that action at this time.
0 commit comments