--- - name: generate package installation lists ansible.builtin.include_tasks: file: addpkg.yml loop: "{{ packages }}" loop_control: loop_var: pkg - name: upgrade all packages block: - name: upgrade dnf packages ansible.builtin.dnf: name: "*" state: latest when: ansible_os_family == 'RedHat' - name: upgrade apt packages ansible.builtin.apt: name: "*" state: latest when: ansible_os_family == 'Debian' - name: upgrade homebrew packages community.general.homebrew: name: "*" state: latest when: ansible_os_family == 'Darwin' become: true when: full_upgrade - name: Linux specific installation block: - name: install dnf packages ansible.builtin.dnf: name: "{{ syspkgs }}" state: "{{ install_state }}" when: ansible_os_family == 'RedHat' - name: install apt packages ansible.builtin.apt: name: "{{ syspkgs }}" state: "{{ install_state }}" when: ansible_os_family == 'Debian' become: true when: - ansible_system == 'Linux' - syspkgs|length > 0 - name: Macos specific installation block: - name: tap homebrew taps community.general.homebrew_tap: name: "{{ brewtaps | unique }}" state: present when: brewtaps|length > 0 - name: install homebrew packages community.general.homebrew: name: "{{ syspkgs }}" state: "{{ install_state }}" when: syspkgs|length > 0 - name: install homebrew casks community.general.homebrew_cask: name: "{{ caskpkgs | unique }}" state: "{{ install_state }}" when: caskpkgs|length > 0 - name: workaround to install homebrew taps ansible.builtin.command: cmd: "brew install {{ tappkg }}" loop: "{{ tappkgs }}" loop_control: loop_var: tappkg when: ansible_os_family == 'Darwin' - name: install srcpkgs ansible.builtin.include_tasks: file: "build/{{ srcpkg }}.yml" loop: "{{ srcpkgs }}" loop_control: loop_var: srcpkg when: srcpkgs|length > 0 - name: install cargo packages at specific version community.general.cargo: name: "{{ cargopkg.name }}" version: "{{ cargopkg.version }}" path: "{{ cargopkg.path | default(default_config.install_prefix) }}" locked: "{{ cargopkg.locked | default(false) }}" become: true when: cargoversioned|length > 0 loop: "{{ cargoversioned }}" loop_control: loop_var: cargopkg - name: Install cargo packages at latest version community.general.cargo: name: "{{ cargopkg }}" state: latest locked: "{{ cargopkg.locked | default(false) }}" when: cargopkgs|length > 0 loop: "{{ cargopkgs }}" loop_control: loop_var: cargopkg - 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 - 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 - name: Install python pip packages for user ansible.builtin.pip: name: "{{ pipxpkg }}" state: latest loop: "{{ pipxpkgs }}" loop_control: loop_var: pipxpkg when: pipxpkgs|length > 0