From f9f2d54e8c85d9a2a6789fdf5be8d3e006de7418 Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Fri, 7 May 2021 10:26:27 -0500 Subject: [PATCH] PR #106 follow-up: More consistent docs and examples. --- README.md | 4 +++ ansible.cfg | 1 - default.config.yml | 34 ++++++++------------------ main.yml | 10 ++++---- tasks/adddock.yml | 13 ---------- tasks/dock-add.yml | 12 +++++++++ tasks/{remdock.yml => dock-remove.yml} | 0 tasks/dock.yml | 17 +++++++------ tasks/osx.yml | 1 - 9 files changed, 40 insertions(+), 52 deletions(-) delete mode 100644 tasks/adddock.yml create mode 100644 tasks/dock-add.yml rename tasks/{remdock.yml => dock-remove.yml} (100%) diff --git a/README.md b/README.md index a7126e4..a2276e7 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,10 @@ You can override any of the defaults configured in `default.config.yml` by creat pip_packages: - name: mkdocs + + configure_dock: true + dockitems_remove: [] + dockitems_persist: [] Any variable can be overridden in `config.yml`; see the supporting roles' documentation for a complete list of available variables. diff --git a/ansible.cfg b/ansible.cfg index a6e277c..a823e99 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -2,4 +2,3 @@ nocows = True roles_path = ./roles:/etc/ansible/roles stdout_callback = yaml - diff --git a/default.config.yml b/default.config.yml index e602917..b62bdfc 100644 --- a/default.config.yml +++ b/default.config.yml @@ -5,31 +5,17 @@ configure_dotfiles: true configure_terminal: true configure_osx: true -configure_dock: [] -dockitems_to_remove: [] -# Example: to remove all / some items added by default on Big Sur uncomment use example below -# dockitems_to_remove: -# - Launchpad -# - Safari -# - Messages -# - Mail -# - Maps -# - Photos -# - FaceTime -# - Calendar -# - Contacts -# - Reminders -# - Notes -# - TV -# - Music -# - Podcasts -# - 'App Store' +# Set to 'true' to configure the Dock via dockutil. +configure_dock: false +dockitems_remove: [] +# - Launchpad +# - TV +# - Podcasts +# - 'App Store' +dockitems_persist: [] +# - name: "Sublime Text" +# path: "/Applications/Sublime Text.app/" -dockitems_to_persist: - - name: "Google Chrome" - path: "/Applications/Google Chrome.app/" - - name: "Sublime Text" - path: "/Applications/Sublime Text.app/" configure_sudoers: false sudoers_custom_config: '' # Example: diff --git a/main.yml b/main.yml index 15a253c..9b6f8da 100644 --- a/main.yml +++ b/main.yml @@ -22,19 +22,19 @@ tags: ['mas'] tasks: - - include_tasks: tasks/ansible-setup.yml + - import_tasks: tasks/ansible-setup.yml - - include_tasks: tasks/sudoers.yml + - import_tasks: tasks/sudoers.yml when: configure_sudoers - - include_tasks: tasks/terminal.yml + - import_tasks: tasks/terminal.yml when: configure_terminal - - include_tasks: tasks/osx.yml + - import_tasks: tasks/osx.yml when: configure_osx tags: ['osx'] - - include_tasks: tasks/extra-packages.yml + - import_tasks: tasks/extra-packages.yml tags: ['extra-packages'] - import_tasks: tasks/dock.yml diff --git a/tasks/adddock.yml b/tasks/adddock.yml deleted file mode 100644 index 40568aa..0000000 --- a/tasks/adddock.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -- name: find if dock {{ item }} exists - ansible.builtin.command: - cmd: dockutil --find '{{ item.name }}' - register: dockitem_exists - failed_when: '"No such file or directory" in dockitem_exists.stdout' - changed_when: false - tags: ['dock'] -- name: Ensure dock {{ item }} exists - ansible.builtin.command: - cmd: dockutil --add '{{ item.path }}' - when: dockitem_exists.rc >0 - tags: ['dock'] diff --git a/tasks/dock-add.yml b/tasks/dock-add.yml new file mode 100644 index 0000000..fe9c843 --- /dev/null +++ b/tasks/dock-add.yml @@ -0,0 +1,12 @@ +--- +- name: See if Dock item {{ item }} exists. + ansible.builtin.command: "dockutil --find '{{ item.name }}'" + register: dockitem_exists + failed_when: '"No such file or directory" in dockitem_exists.stdout' + changed_when: false + tags: ['dock'] + +- name: Ensure Dock item {{ item }} exists. + ansible.builtin.command: "dockutil --add '{{ item.path }}'" + when: dockitem_exists.rc >0 + tags: ['dock'] diff --git a/tasks/remdock.yml b/tasks/dock-remove.yml similarity index 100% rename from tasks/remdock.yml rename to tasks/dock-remove.yml diff --git a/tasks/dock.yml b/tasks/dock.yml index c617e46..d1130ee 100644 --- a/tasks/dock.yml +++ b/tasks/dock.yml @@ -1,22 +1,23 @@ --- -- name: Install dockutil +- name: Install dockutil. homebrew: name: dockutil state: present notify: - Clear homebrew cache -- name: remove dockitems - ansible.builtin.include_tasks: tasks/remdock.yml - loop: "{{ dockitems_to_remove }}" + +- name: Remove configured Dock items. + ansible.builtin.include_tasks: tasks/dock-remove.yml + loop: "{{ dockitems_remove }}" - name: Ensure required dock items exist. - ansible.builtin.include_tasks: tasks/adddock.yml - with_items: "{{ dockitems_to_persist }}" + ansible.builtin.include_tasks: tasks/dock-add.yml + loop: "{{ dockitems_persist }}" -- name: Ensure correct dock order +- name: Ensure correct Dock order. ansible.builtin.command: cmd: dockutil --move '{{ item.name }}' --position '{{ item.pos }}' when: - item.pos is defined - item.pos length >0 - loop: "{{ dockitems_to_persist }}" + loop: "{{ dockitems_persist }}" diff --git a/tasks/osx.yml b/tasks/osx.yml index c6c5b45..ec12cd5 100644 --- a/tasks/osx.yml +++ b/tasks/osx.yml @@ -3,4 +3,3 @@ - name: Run .osx dotfiles. command: "{{ osx_script }}" changed_when: false - tags: ['osx']