123 lines
2.9 KiB
YAML
123 lines
2.9 KiB
YAML
---
|
|
- 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
|
|
community.general.cargo:
|
|
name: "{{ cargopkgs }}"
|
|
state: latest
|
|
locked: true
|
|
when: cargopkgs|length > 0
|
|
|
|
- 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: "{{ pipx_packages }}"
|
|
loop_control:
|
|
loop_var: pipxpkg
|
|
when: pipxpkgs|length > 0
|