diff --git a/tasks/extra-packages.yml b/tasks/extra-packages.yml index 643cd41..9d283c2 100644 --- a/tasks/extra-packages.yml +++ b/tasks/extra-packages.yml @@ -1,34 +1,37 @@ --- -- name: Install global Composer packages. - composer: - command: "{{ (item.state | default('present') == 'absent') | ternary('remove', 'require') }}" - arguments: "{{ item.name | default(item) }} {{ item.version | default('@stable') }}" - # Ansible 2.4 supports `global_command` making `working_dir` optional. - working_dir: "{{ lookup('env', 'COMPOSER_HOME') | default('~/.composer', true) }}" - with_items: "{{ composer_packages }}" - -- name: Install global NPM packages. - npm: - name: "{{ item.name | default(item) }}" - state: "{{ item.state | default('present') }}" - version: "{{ item.version | default(omit) }}" - global: true - executable: "{{ item.executable | default(omit) }}" - with_items: "{{ npm_packages }}" - -- name: Install global Pip packages. - pip: - name: "{{ item.name | default(item) }}" - state: "{{ item.state | default('present') }}" - version: "{{ item.version | default(omit) }}" - executable: "{{ item.executable | default(omit) }}" - with_items: "{{ pip_packages }}" - -- name: Install global Ruby gems. - gem: - name: "{{ item.name | default(item) }}" - state: "{{ item.state | default('present') }}" - version: "{{ item.version | default(omit) }}" - user_install: false - executable: "{{ item.executable | default(omit) }}" - with_items: "{{ gem_packages }}" +- name: Ensure extra packages + block: + - name: Install global Composer packages. + composer: + command: "{{ (item.state | default('present') == 'absent') | ternary('remove', 'require') }}" + arguments: "{{ item.name | default(item) }} {{ item.version | default('@stable') }}" + # Ansible 2.4 supports `global_command` making `working_dir` optional. + working_dir: "{{ lookup('env', 'COMPOSER_HOME') | default('~/.composer', true) }}" + loop: "{{ composer_packages }}" + + - name: Install global NPM packages. + npm: + name: "{{ item.name | default(item) }}" + state: "{{ item.state | default('present') }}" + version: "{{ item.version | default(omit) }}" + global: true + executable: "{{ item.executable | default(omit) }}" + loop: "{{ npm_packages }}" + + - name: Install global Pip packages. + pip: + name: "{{ item.name | default(item) }}" + state: "{{ item.state | default('present') }}" + version: "{{ item.version | default(omit) }}" + executable: "{{ item.executable | default(omit) }}" + loop: "{{ pip_packages }}" + + - name: Install global Ruby gems. + gem: + name: "{{ item.name | default(item) }}" + state: "{{ item.state | default('present') }}" + version: "{{ item.version | default(omit) }}" + user_install: false + executable: "{{ item.executable | default(omit) }}" + loop: "{{ gem_packages }}" + tags: ['extra-packages'] diff --git a/tasks/osx.yml b/tasks/osx.yml index ec12cd5..c6c5b45 100644 --- a/tasks/osx.yml +++ b/tasks/osx.yml @@ -3,3 +3,4 @@ - name: Run .osx dotfiles. command: "{{ osx_script }}" changed_when: false + tags: ['osx']