[meta] Do less work when fixing the Dock
diff --git a/ansible/roles/osx/tasks/dock.yml b/ansible/roles/osx/tasks/dock.yml
index ce20fbdc..72f27b3a 100644
--- a/ansible/roles/osx/tasks/dock.yml
+++ b/ansible/roles/osx/tasks/dock.yml
@@ -1,7 +1,12 @@
---
- homebrew: name=dockutil state=present
+- command: /usr/local/bin/dockutil --list
+ register: dockutil_result
- command: /usr/local/bin/dockutil --remove all
-- command: /usr/local/bin/dockutil --add ~/Downloads --view list
+ when: not (dockutil_result.stdout_lines | length == 1 and dockutil_result.stdout | search("^Downloads"))
+- command: /usr/local/bin/dockutil --add ~/Downloads
+ --view list
--display stack
--sort datemodified
+ when: not (dockutil_result.stdout_lines | length == 1 and dockutil_result.stdout | search("^Downloads"))
- homebrew: name=dockutil state=absent
diff --git a/ansible/roles/osx/tasks/main.yml b/ansible/roles/osx/tasks/main.yml
index dc9fa6fb..3aa658fc 100644
--- a/ansible/roles/osx/tasks/main.yml
+++ b/ansible/roles/osx/tasks/main.yml
@@ -2,6 +2,7 @@
- include: bootstrap.yml
- include: formulae.yml
- include: dock.yml
+ tags: dock
- include: casks.yml
- include: fonts.yml
- include: defaults.yml