--- - name: generate package installation lists ansible.builtin.include_tasks: file: addpkg.yml loop: "{{ packages }}" loop_control: loop_var: pkg tags: - config - packages - name: upgrade linux packages block: - ansible.builtin.dnf: name: "*" state: latest when: ansible_os_family == 'RedHat' - ansible.builtin.apt: name: "*" state: latest when: ansible_os_family == 'Debian' become: true when: full_upgrade - name: Linux specific installation block: - ansible.builtin.dnf: name: "{{ syspkgs }}" state: "{{ install_state }}" when: ansible_os_family == 'RedHat' - ansible.builtin.apt: name: "{{ syspkgs }}" state: "{{ install_state }}" when: ansible_os_family == 'Debian' become: true when: - ansible_system == 'Linux' - syspkgs|length > 0 tags: - Linux - RedHat - Debian - packages - name: Macos specific installation block: - community.general.homebrew_tap: name: "{{ brewtaps | unique }}" state: present when: brewtaps|length > 0 - community.general.homebrew: name: "{{ syspkgs | unique }}" state: "{{ install_state }}" when: syspkgs|length > 0 - community.general.homebrew_cask: name: "{{ caskpkgs | unique }}" state: "{{ install_state }}" when: caskpkgs|length > 0 tags: - packages - Darwin - macOS - homebrew - homebrew_cask - name: install srcpkgs ansible.builtin.include_tasks: file: "build/{{ srcpkg }}.yml" loop: "{{ srcpkgs }}" loop_control: loop_var: srcpkg when: srcpkgs|length > 0 tags: - packages - source - name: Install cargo packages community.general.cargo: name: "{{ cargopkgs }}" state: latest locked: true when: cargopkgs|length > 0 tags: - packages - rust - name: Install local npm packages when: packages.npm is defined community.general.npm: global: true name: "{{ npmpkg }}" state: latest loop: "{{ npmpkgs }}" loop_control: loop_var: npmpkg when: npmpkgs|length > 0 tags: - npm - packages - name: Install local go packages become: true environment: GOROOT: /usr/local/go PATH: /usr/local/go/bin:$PATH ansible.builtin.command: cmd: "go install {{ gopkg }}" loop: "{{ gopkgs }}" loop_control: loop_var: gopkg when: gopkgs|length > 0 tags: - go - packages - name: Install python pip packages for user ansible.builtin.pip: name: "{{ pipxpkg }}" state: latest loop: "{{ pipx_packages }}" loop_control: loop_var: pipxpkg when: pipxpkgs|length > 0 tags: - packages - python - pip - pipx