47 lines
1.4 KiB
YAML
47 lines
1.4 KiB
YAML
---
|
|
|
|
- name: Add DNF repositories
|
|
ansible.builtin.yum_repository:
|
|
name: "{{ item.name }}"
|
|
description: "{{ item.description }}"
|
|
baseurl: "{{ item.baseurl }}"
|
|
enabled: true
|
|
gpgcheck: true
|
|
gpgkey: "{{ item.gpgkey }}"
|
|
loop: "{{ dnf_add_repositories }}"
|
|
become: true
|
|
when: dnf_add_repositories is defined and dnf_add_repositories | length > 0
|
|
|
|
- name: Remove unwanted packages
|
|
ansible.builtin.dnf:
|
|
name: "{{ dnf_remove }}"
|
|
state: absent
|
|
become: true
|
|
when: dnf_remove is defined and dnf_remove | length > 0
|
|
failed_when: false
|
|
|
|
- name: Install DNF packages
|
|
ansible.builtin.dnf:
|
|
name: "{{ dnf_install }}"
|
|
state: present
|
|
become: true
|
|
when: dnf_install is defined and dnf_install | length > 0
|
|
|
|
- name: Install cargo packages
|
|
ansible.builtin.command:
|
|
cmd: "cargo install {{ item }}"
|
|
loop: "{{ cargo_packages }}"
|
|
when: cargo_packages is defined and cargo_packages | length > 0
|
|
register: software_cargo_install_result
|
|
changed_when: "'Installing' in software_cargo_install_result.stderr or 'Compiling' in software_cargo_install_result.stderr"
|
|
failed_when: software_cargo_install_result.rc != 0 and 'already exists' not in software_cargo_install_result.stderr
|
|
|
|
- name: Clone git repositories
|
|
ansible.builtin.git:
|
|
repo: "{{ item.repo }}"
|
|
dest: "{{ item.dest }}"
|
|
version: "{{ item.version }}"
|
|
update: true
|
|
loop: "{{ git_repos }}"
|
|
when: git_repos is defined and git_repos | length > 0
|