Files
ansible_role_package/tasks/main.yml
2025-01-24 16:43:28 -07:00

145 lines
3.0 KiB
YAML

---
- name: generate package installation lists
ansible.builtin.include_tasks:
file: addpkg.yml
loop: "{{ packages }}"
loop_control:
loop_var: pkg
tags:
- config
- packages
- name: upgrade all packages
block:
- ansible.builtin.dnf:
name: "*"
state: latest
when: ansible_os_family == 'RedHat'
- ansible.builtin.apt:
name: "*"
state: latest
when: ansible_os_family == 'Debian'
- community.general.homebrew:
name: "*"
state: latest
when: ansible_os_family == 'Darwin'
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
- debug:
var: syspkgs
- community.general.homebrew:
name: "{{ syspkgs }}"
state: "{{ install_state }}"
when: syspkgs|length > 0
- 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
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